Поделиться через


Оператор as

Область применения: ✅Microsoft Fabric

Привязывает имя к входному табличному выражению оператора. Этот оператор позволяет запросу ссылаться на значение табличного выражения несколько раз, не нарушая запрос и привязывая имя с помощью инструкции let .

Чтобы оптимизировать использование as оператора в одном запросе, см. раздел Именованные выражения.

Синтаксис

T|as [hint.materialized=Материализовано] Имя

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
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)

выходных

Имя таблицы 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" и "справа" соединения: MyLogTable отфильтрованы по type == "Event" и Name == "Stop"

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