TREATAS

применимо:вычисляемый столбецвычисляемой таблицеMeasureвизуального вычисления

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

Синтаксис

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

Параметры

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

Возврат value

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

Замечания

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

  • If value, возвращаемого в табличном выражении, not существует в столбце, он игнорируется. Например, TREATAS({"Красный", "Зеленый", "Желтый"}, DimProduct[Color]) задает filter для столбца DimProduct[Color] с тремя values "Красный", "Зеленый", and "Желтый". If "Желтый" not существует в DimProduct[Color], эффективным filtervalues будет "Красный" and "Зеленый".

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

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

Пример

В следующем примере модель contains две несвязанные таблицы product. If пользователь применяет filter к DimProduct1[ProductCategory] выбор велосипедов, мест, шин, то же filter, велосипедов, мест, шин применяется к DimProduct2[ProductCategory].

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

INTERSECT
FILTER
USERELATIONSHIP