Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |