Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel-
Als u gegevens uit meerdere tabellen samenvoegt, kunt u gegevens in verschillende bronnen analyseren en relaties tussen gegevenspunten maken. Gebruik in de Kusto Query Language (KQL) de join - en opzoekoperators om gegevens in tabellen te combineren.
In deze handleiding leer je hoe je:
In de voorbeelden in deze zelfstudie wordt gebruikgemaakt van de StormEvents tabel, die openbaar beschikbaar is in de helpcluster. Als u wilt verkennen met uw eigen gegevens, u uw eigen gratis clustermaken.
In de voorbeelden in deze tutorial wordt de StormEvents tabel gebruikt, die openbaar beschikbaar is in de Weather Analyticsvoorbeeldgegevens.
Voorwaarden
Voer de query's uit in een queryomgeving die toegang heeft tot de voorbeeldgegevens. Gebruik een van de volgende opties:
- Microsoft-account of Microsoft Entra-gebruikersidentiteit om u aan te melden bij het Help-cluster
- Een Microsoft-account of Microsoft Entra-gebruikersidentiteit
- Fabric-werkruimte met een Microsoft Fabric ingeschakelde capaciteit
De join-operator gebruiken
De samples-database heeft twee gerelateerde stormgebeurtenistabellen: StormEvents en PopulationData. In deze sectie voegt u ze toe om gegevens te analyseren die niet alleen met één tabel mogelijk zijn.
Inzicht in de gegevens
Gebruik de operator om te zien welke gegevens elke tabel bevat.
StormEvents
| take 5
In de volgende tabel ziet u slechts zes van de 22 geretourneerde kolommen.
| Starttijd | Eindtijd | EpisodeId | EventId | Staat | Type gebeurtenis | ... |
|---|---|---|---|---|---|---|
| 2007-09-20T21:57:00Z | 2007-09-20T22:05:00Z | 11078 | 60913 | FLORIDA | Tornado | ... |
| 2007-12-20T07:50:00Z | 2007-12-20T07:53:00Z | 12554 | 68796 | MISSISSIPPI | Onweer wind | ... |
| 2007-12-30T16:00:00Z | 2007-12-30T16:05:00Z | 11749 | 64588 | GEORGIË | Onweer wind | ... |
| 2007-09-29T08:11:00Z | 2007-09-29T08:11:00Z | 11091 | 61032 | ATLANTISCHE ZUID | Waterhoos | ... |
| 2007-09-18T20:00:00Z | 2007-09-19T18:00:00Z | 11074 | 60904 | FLORIDA | Zware regen | ... |
PopulationData
| take 5
uitvoer
| Staat | Bevolking |
|---|---|
| ALABAMA | 4918690 |
| ALASKA | 727951 |
| ARIZONA | 7399410 |
| ARKANSAS | 3025880 |
| CALIFORNIË | 39562900 |
Beide tabellen hebben een State kolom.
StormEvents heeft nog veel meer kolommen en PopulationData heeft één andere kolom met de bevolking van de staat.
De tabellen samenvoegen
Verbind PopulationData met StormEvents op State om de totale schade aan eigendommen per hoofd van de bevolking per staat te berekenen.
StormEvents
| summarize PropertyDamage = sum(DamageProperty) by State
| join kind=innerunique PopulationData on State
| project State, PropertyDamagePerCapita = PropertyDamage / Population
| sort by PropertyDamagePerCapita
Voeg | render columnchart toe aan de query om het resultaat te visualiseren.
Als de kolommen verschillende namen hebben (bijvoorbeeld StormEvents heeft State en PopulationData heeft StateName), geeft u de join op als:
StormEvents
| join kind=innerunique PopulationData on $left.State == $right.StateName
$left verwijst naar de linkertabel (buiten) in de join: StormEvents.
$right verwijst naar de rechtertabel (binnenste PopulationData): .
Fooi
Gebruik de join operator voor veel join-typen. Bekijk de lijst met join-varianten.
De opzoekoperator gebruiken
De opzoekoperator optimaliseert query's die een feitentabel verrijken met gegevens uit een dimensietabel. De feitentabel wordt uitgebreid met waarden uit de dimensietabel. Standaard wordt ervan uitgegaan dat de linkertabel de grotere feitentabel is en dat de rechtertabel de kleinere dimensietabel is. Deze standaardwaarde is het tegenovergestelde van de veronderstelling van de join operator.
De helpcluster bevat een database genaamd ContosoSales, met verkoopgegevens. De volgende query gebruikt lookup om de SalesFact en Products tabellen samen te voegen om de totale verkoop per productcategorie te retourneren.
SalesFact
| lookup Products on ProductKey
| summarize TotalSales = count() by ProductCategoryName
| order by TotalSales desc
uitvoer
| ProductCategorienaam | TotaleVerkoop |
|---|---|
| Games en speelgoed | 966782 |
| TV en Video | 715024 |
| Camera's en webcams | 323003 |
| Computers | 313487 |
| Huisapparaten | 237508 |
| Audio | 192671 |
| Mobiele telefoons | 50342 |
| Muziek, films en audioboeken | 33376 |
Notitie
De lookup-operator ondersteunt slechts twee varianten van join: leftouter en inner.
Door query gegenereerde tabellen samenvoegen
Resultaten uit dezelfde tabel samenvoegen.
Stel dat u een lijst wilt met staten die zowel bliksem- als lawine-gebeurtenissen kennen. Gebruik de join-operator om rijen van twee query's samen te voegen die afzonderlijke statussen retourneren voor elk gebeurtenistype in de State kolom.
StormEvents
| where EventType == "Lightning"
| distinct State
| join kind=inner (
StormEvents
| where EventType == "Avalanche"
| distinct State
)
on State
| project State
uitvoer
| Staat |
|---|
| OREGON |
| UTAH |
| WYOMING |
| WASHINGTON |
| COLORADO |
| IDAHO |
| NEVADA |
Verwante inhoud
- Meer informatie over verschillende soorten joinoperator.
- Voer query's voor meerdere databases en meerdere clusters uit.
- Volg de zelfstudie Georuimtelijke visualisaties maken .