Partager via


pivot, plug-in

S’applique à : ✅Microsoft Fabric✅Azure Data Explorer

Fait pivoter une table en transformant les valeurs uniques d’une colonne dans la table d’entrée en plusieurs colonnes de la table de sortie et effectue des agrégations selon les besoins sur les valeurs de colonne restantes qui apparaîtront dans la sortie finale.

Remarque

Si OutputSchema n’est pas spécifié, le schéma de sortie du pivot plug-in est basé sur les données d’entrée. Par conséquent, plusieurs exécutions du plug-in à l’aide de différentes entrées de données peuvent produire un schéma de sortie différent. Cela signifie également que la requête qui fait référence à des colonnes décompressées peut devenir « rompue » à tout moment. Pour cette raison, nous vous déconseillons d’utiliser ce plug-in pour les travaux Automation sans spécifier la fonction OutputSchema.

Syntaxe

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

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
pivotColumn string ✔️ Colonne à faire pivoter. Chaque valeur unique de cette colonne sera une colonne dans la table de sortie.
aggregationFunction string Fonction d’agrégation utilisée pour agréger plusieurs lignes de la table d’entrée à une seule ligne de la table de sortie. Fonctions actuellement prises en charge : min(), , max(), take_any(), stdev()sum()make_set()make_bag()avg()dcount()variance()make_list(). count() Par défaut, il s’agit de count().
column1, column2, ... string Un nom de colonne ou une liste séparée par des virgules de noms de colonnes. La table de sortie contient une colonne supplémentaire par colonne spécifiée. La valeur par défaut est toutes les colonnes autres que la colonne pivotée et la colonne d’agrégation.
OutputSchema Noms et types pour les colonnes attendues de la sortie du pivot plug-in.

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

La spécification du schéma attendu optimise l’exécution de la requête en n’ayant pas à exécuter la requête réelle pour explorer le schéma. Une erreur est générée si le schéma d’exécution ne correspond pas au schéma OutputSchema .

Retours

Le tableau croisé dynamique retourne la table pivotée avec des colonnes spécifiées (colonne1, colonne2, ...) ainsi que toutes les valeurs uniques des colonnes pivot. Chaque cellule des colonnes pivotées contient le calcul de fonction d’agrégation.

Exemples

Pivoter par une colonne

Pour chaque EventType et State commençant par « AL », comptez le nombre d’événements de ce type dans cet état.

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

Sortie

Type d’événement ALABAMA ALASKA
Vent d’orage 352 1
Vent fort 0 95
Froid extrême/refroidissement du vent 0 10
Vent fort 22 0

Pivoter par une colonne avec une fonction d’agrégation

Pour chaque EventType et État commençant par « AR », affichez le nombre total de décès directs.

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

Sortie

Type d’événement ARKANSAS ARIZONA
Fortes précipitations 1 0
Vent d’orage 1 0
Lightning 0 1
Crue soudaine 0 6
Vent fort 1 0
Chauffage 3 0

Pivoter par une colonne avec une fonction d’agrégation et une seule colonne supplémentaire

Le résultat est identique à l’exemple précédent.

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

Sortie

Type d’événement ARKANSAS ARIZONA
Fortes précipitations 1 0
Vent d’orage 1 0
Lightning 0 1
Crue soudaine 0 6
Vent fort 1 0
Chauffage 3 0

Spécifier la colonne pivotée, la fonction d’agrégation et plusieurs colonnes supplémentaires

Pour chaque type d’événement, source et état, additionnez le nombre de décès directs.

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

Sortie

Type d’événement Source ARKANSAS ARIZONA
Fortes précipitations Gestionnaire des urgences 1 0
Vent d’orage Gestionnaire des urgences 1 0
Lightning Journal 0 1
Crue soudaine Observateur chevronné 0 2
Crue soudaine Média de diffusion 0 3
Crue soudaine Journal 0 1
Vent fort Respect des lois 1 0
Chauffage Journal 3 0

Pivot avec un schéma de sortie défini par une requête

L’exemple suivant sélectionne des colonnes spécifiques dans la table StormEvents. Il utilise une définition de schéma explicite qui permet d’évaluer différentes optimisations avant d’exécuter la requête réelle.

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

Sortie

Type d’événement ALABAMA ALASKA
Vent d’orage 352 1
Vent fort 0 95
Vent d’orage marin 0 0
Vent fort 22 0
Froid extrême/refroidissement du vent 0 10
Froid/Refroidissent dû au vent 0 0
Vent fort marin 0 0
Vent marin élevé 0 0