Operatore as

Associa un nome all'espressione tabulare di input dell'operatore. In questo modo la query può fare riferimento al valore dell'espressione tabulare più volte senza interrompere la query e binding di un nome tramite l'istruzione let.

Per ottimizzare più usi dell'operatore as all'interno di una singola query, vedere Espressioni denominate.

Sintassi

T|as [hint.materialized=Materialized] Name

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
T string ✔️ Espressione tabulare da rinominare.
Nome string ✔️ Nome temporaneo per l'espressione tabulare.
hint.materialized bool Se Materialized è impostato su true, il valore dell'espressione tabulare sarà come se fosse sottoposto a wrapping da una chiamata di funzione materialize(). In caso contrario, il valore verrà ricalcolato su ogni riferimento.

Nota

  • Il nome specificato da as verrà usato nella withsource= colonna di unione, nella source_ colonna di ricerca e nella $table colonna di ricerca.
  • L'espressione tabulare denominata utilizzando l'operatore nell'input tabulare esterno di un join ($left) può essere usata anche nell'input interno tabulare del join ($right).

Esempio

Nei due esempi seguenti la colonna TableName generata dall'unione sarà costituita da 'T1' e 'T2'.

range x from 1 to 10 step 1 
| as T1 
| union withsource=TableName (range x from 1 to 10 step 1 | as T2)

In alternativa, è possibile scrivere lo stesso esempio riportato di seguito:

union withsource=TableName (range x from 1 to 10 step 1 | as T1), (range x from 1 to 10 step 1 | as T2)

Nell'esempio seguente, il lato sinistro del join sarà: MyLogTable filtrato in base type == "Event" a e Name == "Start" il lato destro del join sarà: MyLogTable filtrato in base type == "Event" a e Name == "Stop"

MyLogTable  
| where type == "Event"
| as T
| where Name == "Start"
| join (
    T
    | where Name == "Stop"
) on ActivityId