TREATAS
テーブル式の結果をフィルターとして、関連のないテーブルの列に適用します。
構文
TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )
パラメーター
用語 | 定義 |
---|---|
table_expression |
テーブルを生成する式。 |
column |
1 つ以上の既存の列。 これを式にすることはできません。 |
戻り値
table_expression内のすべての行を含むテーブル。
解説
指定する列の数は、テーブル式の列数と一致し、同じ順序である必要があります。
テーブル式で返された値が列に存在しない場合は無視されます。 たとえば、TREATAS({"Red"、"Green"、"Yellow"}、DimProduct[Color]) は、列 DimProduct[Color] にフィルターを設定し、3 つの値 "Red"、"Green"、"Yellow" を設定します。 DimProduct[Color] に "Yellow" が存在しない場合、有効なフィルター値は "Red" と "Green" になります。
テーブル間にリレーションシップが存在しない場合に最適です。 関連するテーブル間に複数のリレーションシップがある場合は、代わりに USERELATIONSHIP を使用することを検討してください。
この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。
例
次の例では、モデルに 2 つの関連のない製品テーブルが含まれています。 ユーザーが DimProduct1[ProductCategory] に自転車、シート、タイヤ、同じフィルター、自転車、シート、タイヤを選択するフィルターを適用した場合、DimProduct2[ProductCategory] に適用されます。
CALCULATE(
SUM(Sales[Amount]),
TREATAS(
VALUES(DimProduct1[ProductCategory]),
DimProduct2[ProductCategory]
)
)