USERELATIONSHIP
指定要在特定計算中使用的關聯性,做為columnName1 and columnName2之間存在的關聯性。
語法
USERELATIONSHIP(<columnName1>,<columnName2>)
參數
詞彙 | 定義 |
---|---|
columnName1 |
現有數據行的名稱,使用標準 DAX 語法 and 完整,通常代表要使用的關聯性多端:if 會以反向順序提供自變數,函式會先交換這些自變數,再加以使用。 此引數不能是運算式。 |
columnName2 |
現有數據行的名稱,使用標準 DAX 語法 and 完整,通常代表要使用的關聯性的一端 or 查閱端:if 會以反向順序提供自變數,函式會在使用這些自變數之前交換它們。 此引數不能是運算式。 |
傳回 value
函式不會傳回 value;函式只會啟用計算 duration 的指示關聯性。
備註
USERELATIONSHIP 只能在採用 filter 做為自變數的函式中使用,例如:CALCULATE、CALCULATETABLE、CLOSINGBALANCEMONTH、CLOSINGBALANCEQUARTER、CLOSINGBALANCEYEAR、OPENINGBALANCEMONTH、OPENINGBALANCEQUARTER、OPENINGBALANCEYEAR、TOTALMTD、TOTALQTDandTOTALYTD 函式。
當包含 measure 的數據表定義資料列層級安全性時,無法使用 USERELATIONSHIP。 例如,
CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey]))
會針對 DimCustomer 定義 errorif 數據列層級安全性。USERELATIONSHIP 會使用模型中的現有關聯性,依其結束點數據行識別關聯性。
在 USERELATIONSHIP中,關聯性的狀態 not 重要:也就是說,關聯性是否為作用中 ornot 確實 not 影響函式的使用方式。 Even if 關聯性處於非使用中狀態,and 會覆寫模型中可能存在的任何其他作用中關聯性,但函式自變數中 not 提及。
傳回 errorif 任何名為 自變數的數據行 not 自變數屬於不同關聯性 or 關聯性的一部分。
If 多個關聯性,才能將數據表 A 聯結至計算中的數據表 B,每個關聯性都必須在不同的 USERELATIONSHIP 函式中指出。
If CALCULATE 表達式是巢狀的,and 多個 CALCULATE 表示式 containsUSERELATIONSHIP 函式,則最內層 USERELATIONSHIP 是衝突 or 模棱兩可的情況下占上風的表達式。
最多可以巢狀 10 個 USERELATIONSHIP 函式;不過,您的表達式可能有更深層次的巢狀結構,也就是。下列 sample 表示式是巢狀 3 層深,但對 USERELATIONSHIP只有 2 個:
=CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA]))
。針對 1 對 1 關聯性,USERELATIONSHIP 只會以一個方向啟動關聯性。 特別是,filters 只能從 columnName2數據表流向 columnName1數據表。 If 需要雙向交叉篩選,可以在相同的計算中使用具有相反方向的兩個 USERELATIONSHIP。 例如:
CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K]))
。
範例
下列 sample 示範如何覆寫 InternetSales and DateTime 數據表之間的預設作用中關聯性。 OrderDate 數據行在 InternetSales 數據表中,and DateTime 數據表中 Date 數據行之間的預設關聯性。
若要 calculate 因特網銷售 sumand 允許依 ShippingDate 進行切割,而不是傳統的 OrderDate,請使用下列表達式建立 measure[InternetSales by ShippingDate] :
= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))
InternetSales[ShipmentDate] and DateTime[Date] 之間的關聯性必須存在,and 應 not 為作用中關聯性;此外,InternetSales[OrderDate] and DateTime[Date] 之間的關聯性應該存在,and 應該是作用中的關聯性。