as 运算符

适用于:✅Azure 数据资源管理器Azure MonitorMicrosoft Sentinel

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

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

语法

T|as [hint.materialized=具体化] 名称

详细了解语法约定

参数

客户 类型​​ 必需 说明
T string ✔️ 要重命名的表格表达式。
名称 string ✔️ 表格表达式的临时名称。
hint.materialized bool 如果 具体化 设置为 true,则表格表达式输出的值由 具体化() 函数调用包装。 否则,将在每个引用上重新计算该值。

注意

  • as 提供的名称用于 withsource= 列中,source_ 列查找,以及 $table 列。
  • join 的外部表格输入 ($left) 中使用运算符命名的表格表达式也可用于 join 的表格内部输入 ($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)

输出

数据表名称 x
T1 1
T1 2
T1 3
T1 4
T1 5
T2 1
T2 2
T2 3
T2 4
T2 5

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

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