Оператор as
Область применения: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Привязывает имя к входному табличному выражению оператора. Это позволяет запросу ссылаться на значение табличного выражения несколько раз, не нарушая запрос и привязывая имя с помощью инструкции let.
Чтобы оптимизировать использование as
оператора в одном запросе, см. раздел Именованные выражения.
Синтаксис
T as
|
[hint.materialized
=
Материализовано] Имя
Дополнительные сведения о соглашениях синтаксиса.
Параметры
Имя (название) | Type | Обязательно | Описание |
---|---|---|---|
T | string |
✔️ | Табличное выражение для переименования. |
Имя | string |
✔️ | Временное имя табличного выражения. |
hint.materialized |
bool |
Если параметр Materialized имеет значениеtrue , значение табличного выражения будет таким, как если бы оно было завернуто вызовом функции materialize(). В противном случае значение будет пересчитываться по каждой ссылке. |
Примечание.
- Имя, заданное
as
withsource=
в столбце объединения,source_
столбце поиска и$table
столбце поиска. - Табличное выражение с именем, использующее оператор в внешних табличных входных данных объединения (
$left
), может также использоваться в табличных внутренних входных данных объединения ($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)
В следующем примере "левая сторона" соединения будет MyLogTable
: отфильтрованы type == "Event"
и Name == "Start"
"справа" соединения будут: MyLogTable
отфильтрованы type == "Event"
по и Name == "Stop"
MyLogTable
| where type == "Event"
| as T
| where Name == "Start"
| join (
T
| where Name == "Stop"
) on ActivityId