TREATAS

Применяет результат табличного выражения в качестве фильтров к столбцам из не связанной таблицы.

Синтаксис

TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )  

Параметры

Термин Определение
table_expression Выражение, которое приводит к таблице.
столбец Один или несколько существующих столбцов. Это не может быть выражением.

Возвращаемое значение

Таблица, содержащая все строки в столбцах, которые также находятся в table_expression.

Замечания

  • Число указанных столбцов должно соответствовать количеству столбцов в выражении таблицы и иметь одинаковый порядок.

  • Если значение, возвращаемое в табличном выражении, не существует в столбце, оно игнорируется. Например, TREATAS({"Красный", "Зеленый", "Желтый"}, DimProduct[Color]) задает фильтр для столбца DimProduct[Color] с тремя значениями "Красный", "Зеленый" и "Желтый". Если "Yellow" не существует в DimProduct[Color], то действующие фильтры будут иметь значения "Red" и "Green".

  • Лучше всего использовать, если связь не существует между таблицами. При наличии нескольких связей между таблицами рекомендуется использовать USERELATIONSHIP .

  • Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).

Пример

В следующем примере модель содержит две несвязанные таблицы продуктов. Если пользователь применяет фильтр к DimProduct1[ProductCategory], выбрав "Велосипеды", "Места", "Шины", "Велосипеды", "Места", "Шины" применяется к DimProduct2[ProductCategory].

CALCULATE(
SUM(Sales[Amount]), 
TREATAS(VALUES(DimProduct1[ProductCategory]), DimProduct2[ProductCategory])
)

INTERSECT
ФИЛЬТР
USERELATIONSHIP