从数据到信息
从信息到洞察

USERELATIONSHIP

指定 DAX 表达式的在计算时所使用的关系。将关系两端的列作为参数可以定义这种关系。

语法

USERELATIONSHIP ( <列 1>, <列 2> )
参数 属性 描述
列 1 关系的主键外键
列 2 关系的主键外键

返回值

函数不返回任何值;仅用来明确计算过程中使用的关系。

备注

USERELATIONSHIP 只能用于将筛选器用作参数的函数中,例如:CALCULATECALCULATETABLECLOSINGBALANCEMONTHCLOSINGBALANCEQUARTERCLOSINGBALANCEYEAROPENINGBALANCEMONTHOPENINGBALANCEQUARTEROPENINGBALANCEYEARTOTALMTDTOTALQTDTOTALYTD 函数。

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

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

如果使用嵌套的 CALCULATE 表达式,并且多个 CALCULATE 表达式都包含 USERELATIONSHIP 函数,那么只有最内层的 USERELATIONSHIP 生效。注意最多只能嵌套 10 个 USERELATIONSHIP 函数

USERELATIONSHIP 引用的表不支持行级别安全性,也就是说你不能对开启行级别安全性的表使用这个函数,CROSSFILTER 也是同理。可以考虑用 LOOKUPVALUE 或者 TREATAS 作为替代方案。

示例

借助 CALCULATE 和 USERELATIONSHIP,我们可以在计算时临时激活发货日期与日期表的关系,执行如下计算:

[Delivered Amount] :=
CALCULATE (
    [Sales Amount],
    USERELATIONSHIP ( Sales[DeliveryDateKey], Date[DateKey] )
)

扩展阅读:

 

 

2
说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
1 评论数
1 被回复的评论
1 订阅评论的人数
 
查看最近回复
查看最热评论
  订阅本文评论  
最新 最旧 得票最多
提醒
成员
136****3665

您好,老师。学习书上422页的案例。按照书上代码做不出数据。不知道什么问题?

DAX 圣经

DAX 函数大全

DAX 查询

DAX 运算符