TREATAS
將數據表表達式的結果當做篩選套用至來自不相關數據表的數據行。
語法
TREATAS(table_expression, <column>[, <column>[, <column>[,…]]]} )
參數
詞彙 | 定義 |
---|---|
table_expression |
產生資料表的運算式。 |
column |
一或多個現有的數據行。 不能是運算式。 |
傳回值
數據表,其中包含數據行中也table_expression中的所有數據列。
備註
指定的數據行數目必須符合數據表表達式中的數據行數目,且順序相同。
如果數據表表達式中傳回的值不存在於數據行中,則會忽略該值。 例如,TREATAS({“Red”、“Green”、“Yellow”}、 DimProduct[Color]) 會設定數據行 DimProduct[Color] 的篩選,其中三個值為 “Red”、“Green” 和 “Yellow”。 如果 DimProduct[Color]中不存在 “Yellow”,有效的篩選值會是 “Red” 和 “Green”。
最適合在數據表之間不存在關聯性時使用。 如果您在涉及的數據表之間有多個關聯性,請考慮改用 USERELATIONSHIP。
在匯出數據行或數據列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。
範例
在下列範例中,此模型包含兩個不相關的產品數據表。 如果使用者將篩選套用至 DimProduct1[ProductCategory] 選取 [自行車]、[基座]、[輪胎],則相同的篩選、自行車、基座、輪胎會套用至 DimProduct2[ProductCategory]。
CALCULATE(
SUM(Sales[Amount]),
TREATAS(
VALUES(DimProduct1[ProductCategory]),
DimProduct2[ProductCategory]
)
)