opérateur d'extension
Créez des colonnes calculées et ajoutez-les à l'ensemble de résultats.
events
| project original_time, severity
| where original_time > ago(5m) //--- Search for the last 5 minutes of data
//--- User defined factor using extend
| extend low_rating_factor= (severity * 5 )/2
| where severity < 5
| project low_cred
Syntaxe
T | extend [ColumnName | (ColumnName[, ... ]) =] Expression [, ... ]
Arguments
- T: ensemble de résultats tabulaires d'entrée.
- ColumnName: facultatif. Nom de la colonne à ajouter ou à mettre à jour. S'il est omis, le nom est généré. Si Expression renvoie plusieurs colonnes, une liste de noms de colonne peut être spécifiée entre parenthèses. Dans ce cas, les colonnes de sortie de Expressionreçoivent les noms spécifiés, en supprimant le reste des colonnes de sortie, le cas échéant. Si aucune liste des noms de colonne n'est spécifiée, toutes les colonnes de sortie de Expressionavec les noms générés seront ajoutées à la sortie.
- Expression: calcul sur les colonnes de l'entrée.
Retours
Copie de l'ensemble de résultats tabulaires d'entrée, de sorte que:
- Les noms de colonne notés par
extendqui existent déjà dans l'entrée sont supprimés et ajoutés en tant que nouvelles valeurs calculées. - Les noms de colonne notés par
extendqui n'existent pas dans l'entrée sont ajoutés en tant que nouvelles valeurs calculées.
Astuces
L'opérateur
extendajoute une nouvelle colonne à l'ensemble de résultats d'entrée, qui ne possède pas d'index. Dans la plupart des cas, si la nouvelle colonne est définie pour être exactement la même qu'une colonne de table existante qui possède un index, Kusto peut utiliser automatiquement l'index existant. Cependant, dans certains scénarios complexes, cette propagation n'est pas effectuée.Dans ce cas, si l'objectif est de renommer une colonne, utilisez l'opérateur
project-renameà la place.
Exemple
Cet exemple compte tous les événements ingérés qui ont nécessité plus d'une seconde pour être conservés dans la base de données.
events_all
| project receive_time, storage_time, original_time
| where original_time > ago(5m)
| extend time_in_pipeline_in_ms = storage_time - receive_time
| where time_in_pipeline_in_ms > 1000
| count
Les résultats
| Nombre |
|---|
| 2901 |