as 運算子
將名稱系結至運算子的輸入表格式表示式。 這個運算符可讓查詢多次參考表格式表達式的值,而不需透過 let 語句中斷查詢和系結名稱。
若要在單一查詢中優化運算符的 as
多個用法,請參閱 具名表達式。
語法
T|
as
[hint.materialized
=
具體化] 名稱
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
T | string |
✔️ | 要重新命名的表格式表達式。 |
名稱 | string |
✔️ | 表格式表達式的暫存名稱。 |
hint.materialized |
bool |
如果 具體化 設定為 true ,則表格式表達式輸出的值會由 materialize() 函數調用包裝。 否則,會在每個參考上重新計算值。 |
注意
-
as
指定的名稱會用於 聯集的withsource=
數據行、尋找source_
數據行,以及 搜尋的$table
數據行。 - 在聯結的外部表格式輸入中,使用運算子所命名的表格式表達式,
$left
也可以在聯結的表格式內部輸入 ($right
) 中使用。
範例
在下列兩個範例中,產生的 TableName 數據行包含 『T1』 和 『T2』。
range x from 1 to 5 step 1
| as T1
| union withsource=TableName (range x from 1 to 5 step 1 | as T2)
或者,您可以撰寫與下列相同的範例:
union withsource=TableName (range x from 1 to 5 step 1 | as T1), (range x from 1 to 5 step 1 | as T2)
輸出
TableName | x |
---|---|
T1 | 1 |
T1 | 2 |
T1 | 3 |
T1 | 4 |
T1 | 5 |
T2 | 1 |
T2 | 2 |
T2 | 3 |
T2 | 4 |
T2 | 5 |
在下列範例中,聯結的「左側」為:MyLogTable
依 type == "Event"
篩選,Name == "Start"
且聯結的「右側」為:依 type == "Event"
和 Name == "Stop"
篩選 MyLogTable
MyLogTable
| where type == "Event"
| as T
| where Name == "Start"
| join (
T
| where Name == "Stop"
) on ActivityId