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