Power BI:如何用USERELATIONSHIP覆盖NATURALINNERJOIN的活动关系?
使用USERELATIONSHIP覆盖活动关系实现NATURALINNERJOIN
要基于Table1[Column1]和Table2[Column2]的非活动关系执行NATURALINNERJOIN,核心是利用USERELATIONSHIP在计算上下文里临时激活目标非活动关系,替代默认的活动关联。具体实现方式如下:
核心DAX代码
CALCULATETABLE ( NATURALINNERJOIN ( Table1, Table2 ), USERELATIONSHIP ( Table1[Column1], Table2[Column2] ) )
关键说明
CALCULATETABLE提供了上下文环境,让USERELATIONSHIP能够临时覆盖模型里的默认活动关系,激活指定的非活动关联。NATURALINNERJOIN会在这个临时激活的关系上下文里,自动使用Table1[Column1]与Table2[Column2]的关联执行内连接,而非原来的活动关系。
注意事项
- 必须确保Table1[Column1]和Table2[Column2]之间已创建非活动关系(在模型视图中设置关系为非活动状态)。
USERELATIONSHIP仅在当前CALCULATETABLE的上下文内生效,不会修改模型的默认活动关系配置。- 如果存在多对非活动关系,该函数只会激活指定的那一对关联,其余关系保持原有状态。
内容的提问来源于stack exchange,提问作者c0D3l0g1c
相关产品推荐
相关产品推荐

