Modul plug-in pivot
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer
Otočí tabulku tak, že změní jedinečné hodnoty z jednoho sloupce ve vstupní tabulce do více sloupců ve výstupní tabulce a provede agregace podle potřeby u všech zbývajících hodnot sloupců, které se zobrazí v konečném výstupu.
Poznámka:
Pokud není zadán outputSchema, výstupní schéma pivot
modulu plug-in je založeno na vstupních datech. Proto může více spuštění modulu plug-in pomocí různých datových vstupů vytvořit jiné výstupní schéma. To také znamená, že dotaz odkazující na rozbalené sloupce se může kdykoliv stát nefunkčním. Z tohoto důvodu nedoporučujeme používat tento modul plug-in pro úlohy automatizace bez zadání funkce OutputSchema.
Syntaxe
T | evaluate pivot(
pivotColumn[,
aggregationFunction] [,
column1[,
column2 ... ]])
[:
OutputSchema]
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
pivotColumn | string |
✔️ | Sloupec, který chcete otočit. Každá jedinečná hodnota z tohoto sloupce bude sloupec ve výstupní tabulce. |
aggregationFunction | string |
Agregační funkce sloužící k agregaci více řádků ve vstupní tabulce na jeden řádek ve výstupní tabulce. Aktuálně podporované funkce: min() , max() , , sum() take_any() , dcount() avg() variance() stdev() , make_list() , make_bag() , . count() make_set() Výchozí hodnota je count() . |
|
column1, column2, ... | string |
Název sloupce nebo čárkami oddělený seznam názvů sloupců. Výstupní tabulka bude obsahovat další sloupec pro každý zadaný sloupec. Výchozí hodnota je všechny sloupce kromě kontingenčního sloupce a sloupce agregace. | |
OutputSchema | Názvy a typy očekávaných sloupců výstupu pivot modulu plug-in.Syntaxe: ( ColumnName : ColumnType [, ...]) Zadání očekávaného schématu optimalizuje provádění dotazů tím, že nemusí nejprve spustit skutečný dotaz, aby bylo možné schéma prozkoumat. Pokud schéma za běhu neodpovídá schématu OutputSchema , vyvolá se chyba. |
Návraty
Pivot vrátí otočenou tabulku se zadanými sloupci (sloupec1, sloupec2, ...) a všemi jedinečnými hodnotami kontingenčních sloupců. Každá buňka pro kontingenční sloupce bude obsahovat výpočet agregační funkce.
Příklady
Pivot by a column
Pro každý typ události a stav začínající na al spočítejte počet událostí tohoto typu v tomto stavu.
StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)
Výstup
Typ události | ALABAMA | ALJAŠKA |
---|---|---|
Větrná bouře | 352 | 0 |
Velký vítr | 0 | 95 |
Extrémní studená/větrná zimnice | 0 | 10 |
Silný vítr | 22 | 0 |
Pivot by a column with aggregation function
Pro každý typ události a stav začínající na ar zobrazte celkový počet přímých úmrtí.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))
Výstup
Typ události | ARKANSAS | ARIZONA |
---|---|---|
Těžký déšť | 0 | 0 |
Větrná bouře | 0 | 0 |
Lightning | 0 | 1 |
Velká voda | 0 | 6 |
Silný vítr | 0 | 0 |
Heat | 3 | 0 |
Kontingenční podle sloupce s agregační funkcí a jedním dalším sloupcem
Výsledek je stejný jako v předchozím příkladu.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)
Výstup
Typ události | ARKANSAS | ARIZONA |
---|---|---|
Těžký déšť | 0 | 0 |
Větrná bouře | 0 | 0 |
Lightning | 0 | 1 |
Velká voda | 0 | 6 |
Silný vítr | 0 | 0 |
Heat | 3 | 0 |
Zadání kontingenčního sloupce, agregační funkce a více dalších sloupců
Pro každý typ události, zdroj a stav sečtěte počet přímých úmrtí.
StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)
Výstup
Typ události | Zdroj | ARKANSAS | ARIZONA |
---|---|---|---|
Těžký déšť | Správce tísňového volání | 0 | 0 |
Větrná bouře | Správce tísňového volání | 0 | 0 |
Lightning | Noviny | 0 | 1 |
Velká voda | Trénovaný spotter | 0 | 2 |
Velká voda | Vysílání médií | 0 | 3 |
Velká voda | Noviny | 0 | 1 |
Silný vítr | Donucovacími | 0 | 0 |
Heat | Noviny | 3 | 0 |
Pivot s výstupním schématem definovaným dotazem
Následující příklad vybere konkrétní sloupce v tabulce StormEvents. Používá explicitní definici schématu, která umožňuje vyhodnotit různé optimalizace před spuštěním skutečného dotazu.
StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)
Výstup
Typ události | ALABAMA | ALJAŠKA |
---|---|---|
Větrná bouře | 352 | 0 |
Velký vítr | 0 | 95 |
Mořské bouřmové vítr | 0 | 0 |
Silný vítr | 22 | 0 |
Extrémní studená/větrná zimnice | 0 | 10 |
Studená/větrná zimnice | 0 | 0 |
Mořská silná vítr | 0 | 0 |
Marine High Wind | 0 | 0 |