TREATAS
применяется:вычисляемый столбец
вычисляемой таблицы
измерение
визуального вычисления
Применяет результат табличного выражения в качестве фильтров к столбцам из не связанной таблицы.
Синтаксис
TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )
Параметры
Термин | Определение |
---|---|
table_expression |
Выражение, которое приводит к таблице. |
column |
Один или несколько существующих столбцов. Это не может быть выражением. |
Возвращаемое значение
Таблица, содержащая все строки в столбцах, которые также находятся в table_expression.
Замечания
Число указанных столбцов должно соответствовать количеству столбцов в выражении таблицы и иметь одинаковый порядок.
Если значение, возвращаемое в табличном выражении, не существует в столбце, оно игнорируется. Например, TREATAS({"Красный", "Зеленый", "Желтый"}, DimProduct[Color]) задает фильтр для столбца DimProduct[Color] с тремя значениями "Красный", "Зеленый" и "Желтый". Если значение "Желтый" не существует в DimProduct[Color], то значения эффективного фильтра будут иметь значение "Красный" и "Зеленый".
Лучше всего использовать, если связь не существует между таблицами. При наличии нескольких связей между таблицами рекомендуется использовать вместо этого USERELATIONSHIP.
Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Пример
В следующем примере модель содержит две несвязанные таблицы продуктов. Если пользователь применяет фильтр к DimProduct1[ProductCategory], выбрав "Велосипеды", "Места", "Шины", "Велосипеды", "Места", "Шины" применяется к DimProduct2[ProductCategory].
CALCULATE(
SUM(Sales[Amount]),
TREATAS(
VALUES(DimProduct1[ProductCategory]),
DimProduct2[ProductCategory]
)
)