Freigeben über


pivot-Plug-In

Gilt für: ✅Microsoft Fabric✅Azure Data Explorer

Dreht eine Tabelle, indem die eindeutigen Werte aus einer Spalte in der Eingabetabelle in mehrere Spalten in der Ausgabetabelle umgewandelt werden, und es werden Aggregationen nach Bedarf für alle verbleibenden Spaltenwerte ausgeführt, die in der endgültigen Ausgabe angezeigt werden.

Hinweis

Wenn das OutputSchema nicht angegeben ist, basiert das Ausgabeschema des pivot Plug-Ins auf den Eingabedaten. Daher können mehrere Ausführungen des Plug-Ins mit unterschiedlichen Dateneingaben verschiedene Ausgabeschemas erzeugen. Dies bedeutet auch, dass die Abfrage, die auf entpackte Spalten verweist, jederzeit "unterbrochen" werden kann. Aus diesem Grund wird die Verwendung dieses Plug-Ins für Automatisierungsaufträge nicht empfohlen, ohne die OutputSchema-Funktion anzugeben.

Syntax

T | evaluate pivot(pivotColumn[, aggregationFunction] [,column1[, column2 ... ]]) [: OutputSchema]

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type Erforderlich Beschreibung
pivotColumn string ✔️ Die spalte, die gedreht werden soll. Jeder eindeutige Wert aus dieser Spalte ist eine Spalte in der Ausgabetabelle.
aggregationFunction string Eine Aggregationsfunktion, die zum Aggregieren mehrerer Zeilen in der Eingabetabelle zu einer einzelnen Zeile in der Ausgabetabelle verwendet wird. Derzeit unterstützte Funktionen: min(), , max(), sum()dcount(). make_set()count()take_any()avg()stdev()variance()make_list()make_bag() Der Standardwert ist count().
Spalte1, Spalte2, ... string Ein Spaltenname oder eine durch Trennzeichen getrennte Liste von Spaltennamen. Die Ausgabetabelle enthält eine zusätzliche Spalte pro jeder angegebenen Spalte. Der Standardwert ist alle Spalten außer der pivotierten Spalte und der Aggregationsspalte.
OutputSchema Die Namen und Typen für die erwarteten Spalten der pivot Plug-In-Ausgabe.

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

Wenn Sie das erwartete Schema angeben, wird die Abfrageausführung optimiert, indem sie die tatsächliche Abfrage nicht zuerst ausführen muss, um das Schema zu untersuchen. Wenn das Laufzeitschema nicht mit dem OutputSchema-Schema übereinstimmt, wird ein Fehler ausgelöst.

Gibt zurück

Pivot gibt die gedrehte Tabelle mit angegebenen Spalten (Spalte1, Spalte2, ...) sowie alle eindeutigen Werte der Pivotspalten zurück. Jede Zelle für die pivotierten Spalten enthält die Berechnung der Aggregatfunktion.

Beispiele

Pivotieren nach einer Spalte

Zählen Sie für jeden Ereignistyp und jeden Zustand, der mit "AL" beginnt, die Anzahl der Ereignisse dieses Typs in diesem Zustand.

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

Ausgabe

EventType ALABAMA ALASKA
Sturm 352 1
Starker Wind 0 95
Extreme Kälte/Windkühl 0 10
Strong Wind 22 0

Pivotieren nach einer Spalte mit Aggregationsfunktion

Zeigt für jeden EventType und jeden Zustand ab "AR" die Gesamtzahl der direkten Todesfälle an.

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

Ausgabe

EventType ARKANSAS ARIZONA
Starker Regen 1 0
Sturm 1 0
Lightning 0 1
Überschwemmung 0 6
Strong Wind 1 0
Hitze 3 0

Pivotieren nach einer Spalte mit Aggregationsfunktion und einer einzelnen zusätzlichen Spalte

Das Ergebnis ist identisch mit dem vorherigen Beispiel.

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

Ausgabe

EventType ARKANSAS ARIZONA
Starker Regen 1 0
Sturm 1 0
Lightning 0 1
Überschwemmung 0 6
Strong Wind 1 0
Hitze 3 0

Angeben der pivotierten Spalte, Aggregationsfunktion und mehrerer zusätzlicher Spalten

Addieren Sie für jeden Ereignistyp, jede Quelle und jeden Zustand die Anzahl der direkten Todesfälle.

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

Ausgabe

EventType Quelle ARKANSAS ARIZONA
Starker Regen Emergency Manager 1 0
Sturm Emergency Manager 1 0
Lightning Zeitung 0 1
Überschwemmung Trained Spotter 0 2
Überschwemmung Medien übertragen 0 3
Überschwemmung Zeitung 0 1
Strong Wind Law Enforcement 1 0
Hitze Zeitung 3 0

Pivot mit einem abfragedefinierten Ausgabeschema

Im folgenden Beispiel werden bestimmte Spalten in der Tabelle "StormEvents" ausgewählt. Es verwendet eine explizite Schemadefinition, mit der verschiedene Optimierungen ausgewertet werden können, bevor die tatsächliche Abfrage ausgeführt wird.

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

Ausgabe

EventType ALABAMA ALASKA
Sturm 352 1
Starker Wind 0 95
Marine Thunderstorm Wind 0 0
Strong Wind 22 0
Extreme Kälte/Windkühl 0 10
Cold/Wind Chill 0 0
Starker Wind der Marine 0 0
Marine High Wind 0 0