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 PopulationData
pedig . 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.
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 |
Kapcsolódó tartalom
- További információ a különböző típusú illesztő-operátorokról
- Megtudhatja, hogyan hajthat végre adatbázisközi és fürtök közötti lekérdezéseket
- Kövesse a térinformatikai vizualizációk létrehozása oktatóanyagot
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: