Megosztás a következőn keresztül:


Oktatóanyag: Adatok csatlakoztatása több táblából

A több táblából származó adatok összekapcsolása átfogóbb elemzést tesz lehetővé a különböző forrásokból származó információk kombinálásával és az adatpontok közötti új kapcsolatok létrehozásával. A Kusto lekérdezésnyelv (KQL)-ban az illesztési és keresési operátorok az adatok táblák közötti kombinálására szolgálnak.

Ebből az oktatóanyagból az alábbiakat sajátíthatja el:

Az oktatóanyagban szereplő példák a nyilvánosan elérhető súgófürtöt használják. Ha saját adataival szeretne megismerkedni, hozzon létre egy saját ingyenes fürtöt.

Előfeltételek

  • Microsoft-fiók vagy Microsoft Entra felhasználói identitás a súgófürtbe való bejelentkezéshez

Az illesztés operátor használata

A mintaadatbázisban két tábla található a vihareseményekhez kapcsolódóan. Az egyik neve, StormEvents a másik neve PopulationDatapedig . Ebben a szakaszban összekapcsolja a táblákat olyan adatelemzések végrehajtásához, amelyek egyetlen táblával nem lennének lehetségesek.

Az adatok ismertetése

A take operátorral megtekintheti, hogy az egyes táblák milyen adatokat tartalmaznak.

StormEvents 
| take 5

Az alábbi táblázatban a 22 visszaadott oszlop közül csak 6 látható.

StartTime EndTime EpisodeId EventId Állapot EventType ...
2007-09-20T21:57:00Z 2007-09-20T22:05:00Z 11078 60913 FLORIDA Tornádó ...
2007-12-20T07:50:00Z 2007-12-20T07:53:00Z 12554 68796 MISSISSIPPI Zivatar szél ...
2007-12-30T16:00:00Z 2007-12-30T16:05:00Z 11749 64588 GRÚZIA Zivatar szél ...
2007-09-29T08:11:00Z 2007-09-29T08:11:00Z 11091 61032 ATLANTI-ÓCEÁN DÉLI RÉSZE Vízspout ...
2007-09-18T20:00:00Z 2007-09-19T18:00:00Z 11074 60904 FLORIDA Nagy eső ...
PopulationData 
| take 5

Kimenet

Állapot Népesség
ALABAMA 4918690
ALASZKA 727951
ARIZONA 7399410
ARKANSAS 3025880
CALIFORNIA 39562900

Mindkét tábla tartalmaz egy oszlopot State . A StormEvents tábla több oszlopot tartalmaz, és csak PopulationData egy másik oszlopot tartalmaz, amely az adott állapot sokaságát tartalmazza.

A táblák összekapcsolása

PopulationData Az egy főre jutó viharok által okozott összes vagyoni kár államonkénti megkereséséhez csatlakozzon a táblához StormEvents a közös State oszlopban.

StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita

Adja hozzá | render columnchart a lekérdezéshez az eredmény megjelenítéséhez.

Képernyőkép az oszlopdiagramról, amely az egy főre jutó tulajdonságsérülést mutatja államonként.

Tipp

Az operátorral join számos típusú illesztés végezhető el. Tekintse meg az illesztés ízeinek listáját.

A keresési operátor használata

A keresési operátor optimalizálja a lekérdezések teljesítményét, ha egy ténytábla dimenziótáblából származó adatokkal bővül. Kibővíti a ténytáblát a dimenziótáblában felnézett értékekkel. A legjobb teljesítmény érdekében a rendszer alapértelmezés szerint azt feltételezi, hogy a bal oldali tábla a nagyobb ténytábla, a jobb pedig a kisebb dimenziótábla. Ez pontosan ellentétes az operátor által használt feltételezéssel join .

A súgófürtben van egy másik nevű ContosoSales adatbázis, amely értékesítési adatokat tartalmaz. Az alábbi lekérdezés a és Products a SalesFact táblák egyesítését használja lookup az adatbázisból a teljes értékesítés termékkategória szerinti lekéréséhez.

SalesFact
| lookup Products on ProductKey
| summarize TotalSales = count() by ProductCategoryName
| order by TotalSales desc

Kimenet

ProductCategoryName ÖsszesÉrtékesítés
Játékok 966782
Tv és videó 715024
Fényképezőgépek és videokamerák 323003
Számítógépek 313487
Háztartási készülékek 237508
Audió 192671
Mobiltelefonok 50342
Zene, filmek és hangoskönyvek 33376

Megjegyzés

Az lookup operátor csak két illesztő ízt támogat: leftouter és inner.

Lekérdezés által létrehozott táblák összekapcsolása

Az illesztések ugyanabból a táblából származó lekérdezési eredmények alapján is elvégezhetők.

Tegyük fel, hogy létre szeretne hozni egy listát azokról az állapotokról, amelyekben villám- és lavinaesemények is történtek. Az illesztési operátorral egyesítheti két tábla sorait – az egyik a villámesemények adatait, a másik pedig a lavinaesemények adatait tartalmazza – az State oszlop alapján.

StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
    StormEvents 
    | where EventType == "Avalanche"
    | distinct State
    )
    on State
| project State

Kimenet

Állapot
OREGON
UTAH
WYOMING
WASHINGTON
COLORADO
IDAHO
NEVADA