GitHubContribuer dans GitHub: Editer en ligne

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:

  1. Les noms de colonne notés par extend qui existent déjà dans l'entrée sont supprimés et ajoutés en tant que nouvelles valeurs calculées.
  2. Les noms de colonne notés par extend qui n'existent pas dans l'entrée sont ajoutés en tant que nouvelles valeurs calculées.

Astuces

  • L'opérateur extend ajoute 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érateurproject-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