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