DAX 筛选器 - USERELATIONSHIP 函数

说明

指定在特定计算中使用的关系,即 columnName1 和 columnName2 之间存在的关系。

语法

USERELATIONSHIP (<columnName1>, <columnName2>)

参数

Sr.No. 参数与说明
1

columnName1

表示多方的列的完全限定名称要使用的关系。

如果参数以相反的顺序给出,函数将在使用它们之前交换它们。

此参数不能是表达式。

2

columnName2

表示要使用的关系的一侧或查找侧的列的完全限定名称。

如果参数以相反的顺序给出,函数将在使用它们之前交换它们。

此参数不能是表达式。

返回值

DAX USERELATIONSHIP 函数不返回任何值。该函数仅在计算期间启用指示的关系。

备注

  • USERELATIONSHIP 只能在以过滤器为参数的 DAX 函数中使用。例如,CALCULATE、CALCULATETABLE、CLOSINGBALANCEMONTH、CLOSINGBALANCEQUARTER、CLOSINGBALANCEYEAR、OPENINGBALANCEMONTH、OPENINGBALANCEQUARTER、OPENINGBALANCEYEAR、TOTALMTD、TOTALQTD 和 TOTALYTD 函数。

  • USERELATIONSHIP 使用模型中的现有关系,通过其终点列来识别关系。

  • 在 USERELATIONSHIP 中,关系的状态并不重要;也就是说,关系是否处于活动状态不会影响函数的使用。即使关系处于非活动状态,它也将被使用并覆盖模型中可能存在但函数参数中未提及的任何其他活动关系。

  • 如果任何被命名为参数的列不是关系的一部分,或者参数属于不同的关系,则会返回错误。

  • 如果在计算中需要多个关系来将表 A 连接到表 B,则必须在不同的 USERELATIONSHIP 函数中指示每个关系。

  • 如果 CALCULATE 表达式是嵌套的,并且多个 CALCULATE 表达式包含 USERELATIONSHIP 函数,则在发生冲突或歧义时,最内层的 USERELATIONSHIP 是优先的。

  • 最多可以嵌套 10 个 USERELATIONSHIP 函数。但是,您的表达式可能有更深的嵌套级别。

示例

Product Sales:= CALCULATE ( 
   SUM (Sales[Sales Amount]), 
   USERELATIONSHIP (Sales[Product],Products[Product]) 
)

dax_functions_filter.html