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])
)

INTERSECT
FILTER
USERELATIONSHIP