pivot, plug-in
Effectue une rotation d’une table en transformant les valeurs uniques d’une colonne de la table d’entrée en plusieurs colonnes dans la table de sortie et effectue les agrégations nécessaires sur les valeurs de colonne restantes qui apparaîtront dans la sortie finale.
Notes
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 d’entrées de données différentes 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.
Syntax
T | evaluate pivot(
pivotColumn[,
aggregationFunction] [,
column1[,
column2 ... ]])
[:
OutputSchema]
Découvrez les conventions de syntaxe.
Paramètres
Nom | Type | Obligatoire | 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 en une seule ligne dans la table de sortie. Fonctions actuellement prises en charge : min() , max() , take_any() , avg() stdev() sum() dcount() variance() , make_list() , , make_bag() , . count() make_set() Par défaut, il s’agit de count() . |
|
column1, column2, ... | string |
Nom de colonne ou liste séparée par des virgules de noms de colonnes. La table de sortie contient une colonne supplémentaire pour chaque 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 d’abord 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
Pivot retourne la table pivotée avec des colonnes spécifiées (column1, column2, ...) plus toutes les valeurs uniques des colonnes pivot. Chaque cellule des colonnes pivotées contiendra le calcul de la fonction d’agrégation.
Exemples
Pivoter en fonction d’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/froid éolien | 0 | 10 |
Vent fort | 22 | 0 |
Pivoter d’une colonne avec la fonction d’agrégation
Pour chaque EventType et State 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 à l’aide d’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 la 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 diverses 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/froid éolien | 0 | 10 |
Froid/froid/froid | 0 | 0 |
Vent fort marin | 0 | 0 |
Grand vent marin | 0 | 0 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour