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


pivot beépülő modul

Elforgatja a táblázatot úgy, hogy a bemeneti tábla egyik oszlopában lévő egyedi értékeket a kimeneti tábla több oszlopává alakítja, és szükség szerint összesítéseket hajt végre a végső kimenetben megjelenő többi oszlopértéken.

Megjegyzés

Ha az OutputSchema nincs megadva, a pivot beépülő modul kimeneti sémája a bemeneti adatokon alapul. Ezért a beépülő modul több különböző adatbevitelt használó végrehajtása eltérő kimeneti sémát eredményezhet. Ez azt is jelenti, hogy a kicsomagolt oszlopokra hivatkozó lekérdezés bármikor "megszakadhat". Ezért nem javasoljuk, hogy ezt a beépülő modult automatizálási feladatokhoz használja az OutputSchema függvény megadása nélkül.

Syntax

T | evaluate pivot(pivotColumn[, aggregationFunction] [,oszlop1[,oszlop2 ... ]]) [:OutputSchema]

További információ a szintaxis konvenciókról.

Paraméterek

Név Típus Kötelező Leírás
pivotColumn string ✔️ Az elforgatni kívánt oszlop. Az oszlop minden egyedi értéke egy oszlop lesz a kimeneti táblában.
aggregationFunction string Egy aggregációs függvény, amellyel a bemeneti tábla több sora összesíthető a kimeneti tábla egyetlen sorával. Jelenleg támogatott függvények: min(), max(), take_any(), sum(), dcount(), avg(), stdev()variance(), make_list(), , , make_bag(), , make_set(), . count() A mező alapértelmezett értéke: count().
oszlop1, oszlop2, ... string Oszlopnév vagy oszlopnevek vesszővel tagolt listája. A kimeneti tábla minden megadott oszlophoz egy további oszlopot fog tartalmazni. Az alapértelmezett érték a pivoted oszloptól és az összesítő oszloptól eltérő összesítő oszlop.
OutputSchema A beépülő modul kimenetének várt oszlopainak pivot nevei és típusai.

Szintaxis: (ColumnName:ColumnType [, ...] )

A várt séma megadása úgy optimalizálja a lekérdezés végrehajtását, hogy nem kell először futtatnia a tényleges lekérdezést a séma vizsgálatához. Hiba jelenik meg, ha a futásidejű séma nem egyezik az OutputSchema sémával.

Válaszok

A kimutatás visszaadja az elforgatott táblát a megadott oszlopokkal (oszlop1, oszlop2, ...), valamint a kimutatásoszlopok összes egyedi értékével együtt. A kimutatásban szereplő oszlopok minden celláját az összesítő függvény számítása tartalmazza.

Példák

Kimutatás oszlop szerint

Az "AL" kezdetű eseménytípusokhoz és állapotokhoz meg kell számolni az ilyen típusú események számát ebben az állapotban.

StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)

Kimenet

EventType ALABAMA ALASZKA
Zivatar szél 352 1
Nagy szél 0 95
Szélsőséges hideg/szélhűtés 0 10
Erős szél 22 0

Kimutatás oszlop szerint aggregációs függvénnyel

Az "AR"-től kezdődően minden egyes EventType és Állam esetében a közvetlen halálesetek teljes száma jelenik meg.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))

Kimenet

EventType ARKANSAS ARIZONA
Nagy eső 1 0
Zivatar szél 1 0
Lightning 0 1
Villámárvíz 0 6
Erős szél 1 0
3 0

Kimutatás oszlop szerint aggregációs függvénnyel és egyetlen további oszloppal

Az eredmény megegyezik az előző példával.

StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)

Kimenet

EventType ARKANSAS ARIZONA
Nagy eső 1 0
Zivatar szél 1 0
Lightning 0 1
Villámárvíz 0 6
Erős szél 1 0
3 0

Adja meg a forgatott oszlopot, az aggregációs függvényt és több további oszlopot

Minden eseménytípushoz, forráshoz és állapothoz összegzi a közvetlen halálesetek számát.

StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)

Kimenet

EventType Forrás ARKANSAS ARIZONA
Nagy eső Vészhelyzet-kezelő 1 0
Zivatar szél Vészhelyzet-kezelő 1 0
Lightning Újság 0 1
Villámárviz Betanított spotter 0 2
Villámárviz Médiaközvetítés 0 3
Villámárviz Újság 0 1
Erős szél Bűnüldöző 1 0
Újság 3 0

Kimutatás lekérdezés által definiált kimeneti sémával

Az alábbi példa adott oszlopokat jelöl ki a StormEvents táblában. Explicit sémadefiníciót használ, amely lehetővé teszi a különböző optimalizálások kiértékelését a tényleges lekérdezés futtatása előtt.

StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)

Kimenet

EventType ALABAMA ALASZKA
Zivatar szél 352 1
Magas szél 0 95
Tengeri zivatar szél 0 0
Erős szél 22 0
Extrém hideg/szélhűtés 0 10
Hideg/szélhűtés 0 0
Tengeri erős szél 0 0
Tengeri szél 0 0