pivot, wtyczka
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer
Obraca tabelę, zamieniając unikatowe wartości z jednej kolumny w tabeli wejściowej na wiele kolumn w tabeli wyjściowej i wykonując agregacje zgodnie z wymaganiami dla pozostałych wartości kolumn, które będą wyświetlane w końcowych danych wyjściowych.
Uwaga
Jeśli parametr OutputSchema nie jest określony, schemat pivot
wyjściowy wtyczki jest oparty na danych wejściowych. W związku z tym wiele wykonań wtyczki przy użyciu różnych danych wejściowych może spowodować wygenerowanie innego schematu wyjściowego. Oznacza to również, że zapytanie odwołujące się do rozpakowanych kolumn może w dowolnym momencie stać się "uszkodzone". Z tego powodu nie zalecamy używania tej wtyczki do zadań automatyzacji bez określania funkcji OutputSchema.
Składnia
T | evaluate pivot(
pivotColumn aggregationFunction] [,
column1 [,
column2 ... ]])
[:
OutputSchema][,
Dowiedz się więcej na temat konwencji składni.
Parametry
Nazwisko | Type | Wymagania | opis |
---|---|---|---|
kolumna przestawna | string |
✔️ | Kolumna, która ma być obracana. Każda unikatowa wartość z tej kolumny będzie kolumną w tabeli wyjściowej. |
aggregationFunction | string |
Funkcja agregacji używana do agregowania wielu wierszy w tabeli wejściowej do jednego wiersza w tabeli wyjściowej. Obecnie obsługiwane funkcje: min() , max() make_set() take_any() make_bag() make_list() dcount() sum() avg() stdev() variance() . count() Wartość domyślna to count() . |
|
column1, column2, ... | string |
Nazwa kolumny lub rozdzielona przecinkami lista nazw kolumn. Tabela wyjściowa będzie zawierać dodatkową kolumnę dla każdej określonej kolumny. Wartość domyślna to wszystkie kolumny inne niż kolumna przestawna i kolumna agregacji. | |
OutputSchema | Nazwy i typy oczekiwanych kolumn danych wyjściowych pivot wtyczki.Składnia: ( ColumnName : ColumnType [, ...]) Określenie oczekiwanego schematu optymalizuje wykonywanie zapytań, nie trzeba najpierw uruchamiać rzeczywistego zapytania w celu eksplorowania schematu. Błąd jest zgłaszany, jeśli schemat czasu wykonywania nie jest zgodny ze schematem OutputSchema . |
Zwraca
Funkcja przestawna zwraca obróconą tabelę z określonymi kolumnami (kolumna1, kolumna2, ...) oraz wszystkimi unikatowymi wartościami kolumn przestawnych. Każda komórka dla kolumn przestawnych będzie zawierać obliczenia funkcji agregującej.
Przykłady
Przestawianie według kolumny
Dla każdego typu zdarzeń i stanu rozpoczynającego się od "AL" zlicz liczbę zdarzeń tego typu w tym stanie.
StormEvents
| project State, EventType
| where State startswith "AL"
| where EventType has "Wind"
| evaluate pivot(State)
Wyjście
EventType | ALABAMA | ALASKA |
---|---|---|
Wiatr i burza | 352 | 1 |
Silny wiatr | 0 | 95 |
Ekstremalne zimno/wiatr chłodny | 0 | 10 |
Silny wiatr | 22 | 0 |
Przestawianie według kolumny z funkcją agregacji
Dla każdego typu zdarzeń i stanu rozpoczynającego się od "AR" wyświetl łączną liczbę zgonów bezpośrednich.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect))
Wyjście
EventType | ARKANSAS | ARIZONA |
---|---|---|
Ulewny deszcz | 1 | 0 |
Wiatr i burza | 1 | 0 |
Lightning | 0 | 1 |
Powodzia błyskawiczna | 0 | 6 |
Silny wiatr | 1 | 0 |
Ciepło | 3 | 0 |
Przestawnie według kolumny z funkcją agregacji i jedną dodatkową kolumną
Wynik jest identyczny z poprzednim przykładem.
StormEvents
| where State startswith "AR"
| project State, EventType, DeathsDirect
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType)
Wyjście
EventType | ARKANSAS | ARIZONA |
---|---|---|
Ulewny deszcz | 1 | 0 |
Wiatr i burza | 1 | 0 |
Lightning | 0 | 1 |
Powodzia błyskawiczna | 0 | 6 |
Silny wiatr | 1 | 0 |
Ciepło | 3 | 0 |
Określanie kolumny przestawnej, funkcji agregacji i wielu dodatkowych kolumn
Dla każdego typu zdarzenia, źródła i stanu zsumuj liczbę zgonów bezpośrednich.
StormEvents
| where State startswith "AR"
| where DeathsDirect > 0
| evaluate pivot(State, sum(DeathsDirect), EventType, Source)
Wyjście
EventType | Źródło | ARKANSAS | ARIZONA |
---|---|---|---|
Ulewny deszcz | Menedżer awaryjny | 1 | 0 |
Wiatr i burza | Menedżer awaryjny | 1 | 0 |
Lightning | Gazeta | 0 | 1 |
Powodzia błyskawiczna | Wytrenowany spotter | 0 | 2 |
Powodzia błyskawiczna | Emisja multimediów | 0 | 3 |
Powodzia błyskawiczna | Gazeta | 0 | 1 |
Silny wiatr | Ścigania | 1 | 0 |
Ciepło | Gazeta | 3 | 0 |
Przestawne ze schematem danych wyjściowych zdefiniowanych przez zapytanie
Poniższy przykład wybiera określone kolumny w tabeli StormEvents. Używa jawnej definicji schematu, która umożliwia ocenę różnych optymalizacji przed uruchomieniem rzeczywistego zapytania.
StormEvents
| project State, EventType
| where EventType has "Wind"
| evaluate pivot(State): (EventType:string, ALABAMA:long, ALASKA:long)
Wyjście
EventType | ALABAMA | ALASKA |
---|---|---|
Wiatr i burza | 352 | 1 |
Silny wiatr | 0 | 95 |
Burza morska Wiatr | 0 | 0 |
Silny wiatr | 22 | 0 |
Ekstremalne zimno/wiatr chłodny | 0 | 10 |
Zimny/wiatr chłodny | 0 | 0 |
Silny wiatr morski | 0 | 0 |
Wiatr morski | 0 | 0 |