as 运算符

将名称绑定到运算符的输入表格表达式。 这允许多次查询引用表格表达式的值,而不会中断查询,并通过 let 语句绑定名称。

若要在单个查询中优化 as 运算符的多次使用,请参阅命名表达式

语法

T|as [hint.materialized=Materialized] Name

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string 要重命名的表格表达式。
Name string 表格表达式的临时名称。
hint.materialized bool 如果将 Materialized 设置为 true,则表格表达式的值会被具体化,就像它已由 materialize() 函数调用包装了一样。 否则,将对每个引用重新计算该值。

注意

  • as 提供的名称将用于 unionwithsource= 列、findsource_ 列和 search$table 列。
  • join 的外部表格输入 ($left) 中使用运算符命名的表格表达式也可用于 join 的表格内部输入 ($right)。

示例

在下面的两个示例中,联合生成的 TableName 列将包含“T1”和“T2”。

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

另外,你也可以如下所示编写相同的示例:

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

在以下示例中,联接的“左侧”为:MyLogTabletype == "Event"Name == "Start" 筛选,联接的“右侧”为:MyLogTabletype == "Event"Name == "Stop" 筛选

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