PowerBI DAX度量值按星期几分组时所有行返回相同值问题咨询
问题原因
- 你的两张表为
Table_1(一对多关系的「一」端) → Table_2(「多」端)结构,你配置的单方向交叉筛选规则,仅允许筛选上下文从「一」端流向「多」端,反向筛选不生效。 - 当你在视图中使用Table_2的列做分组维度时,分组产生的筛选条件无法传递到Table_1,因此
SUM(Table_1[Sales])始终是对Table_1全表Sales字段的求和,乘100后所有分组行的计算结果自然完全相同。 - 你猜测的
LOOKUPVALUE/RELATEDVALUE不适用于该场景,这两个函数主要用于行上下文下的单值匹配,你遇到的本质是筛选上下文传递问题,不需要用到这两个函数。
修复方案
有两种可选方案,优先推荐第一种,不会影响模型其他逻辑:
方案1:修改DAX度量值,临时开启双向筛选
在度量值中使用CROSSFILTER函数,仅在当前度量的计算上下文内开启双向筛选,无需调整全局表关系:
sales_in_cents := CALCULATE( SUM(Table_1[Sales]) * 100, CROSSFILTER(Table_1[你的关联主键列名], Table_2[你的关联外键列名], BOTH) )
替换代码中的关联列名为你两张表实际用来做关联的字段名称即可。
方案2:调整全局表关系的交叉筛选方向
如果你的整个模型都需要支持从Table_2筛选Table_1的需求,可以直接在PowerBI的关系编辑界面,把两张表的交叉筛选方向修改为「双向」即可。
内容的提问来源于stack exchange,提问作者Chicken Sandwich No Pickles
相关产品推荐
相关产品推荐

