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 |