PowerBI矩阵中对比两列数值:新增布尔列判断Size是否一致
解决PowerBI矩阵中对比Type5与Type6 Size是否相同的问题
方法一:创建DAX计算列(静态场景首选)
直接在原始数据表中新增计算列,一次性完成同一Number下Type5和Type6的Size对比:
- 切换到数据视图,选中你的原始数据表
- 点击顶部建模选项卡 → 新建列
- 粘贴以下DAX公式(记得把
'表名'替换成你实际的数据表名称):
Same size = VAR Size_Type5 = CALCULATE(MAX('表名'[Size]), FILTER('表名', '表名'[Number] = EARLIER('表名'[Number]) && '表名'[Type] = 5)) VAR Size_Type6 = CALCULATE(MAX('表名'[Size]), FILTER('表名', '表名'[Number] = EARLIER('表名'[Number]) && '表名'[Type] = 6)) RETURN Size_Type5 = Size_Type6
注:如果
Size是文本类型(比如示例里的09),对比逻辑依然有效,无需额外转换。
- 回到矩阵视觉对象,把新增的
Same size字段拖到值区域,调整位置到最后即可。
方法二:创建DAX度量值(动态场景首选)
如果数据会频繁更新,或需要配合切片器等交互组件,用度量值更灵活:
- 点击顶部建模选项卡 → 新建度量值
- 粘贴以下DAX公式(替换
'表名'为实际表名):
Same Size Measure = VAR CurrentNumber = SELECTEDVALUE('表名'[Number]) VAR Size5 = CALCULATE(MAX('表名'[Size]), '表名'[Number] = CurrentNumber, '表名'[Type] = 5) VAR Size6 = CALCULATE(MAX('表名'[Size]), '表名'[Number] = CurrentNumber, '表名'[Type] = 6) RETURN IF(NOT(ISBLANK(Size5)) && NOT(ISBLANK(Size6)), Size5 = Size6, BLANK())
- 将该度量值拖到矩阵的值区域,即可动态显示判断结果。
最终效果验证
设置完成后,矩阵会自动按Number分组,呈现你需要的效果:
| Number | Type 5 | Size | Type 6 | Size | Same size |
|---|---|---|---|---|---|
| PO1 | 5 | 10 | 6 | 12 | False |
| PO2 | 5 | 09 | 6 | 10 | False |
| PO3 | 5 | 10 | 6 | 10 | True |
内容的提问来源于stack exchange,提问作者Isidora
相关产品推荐
相关产品推荐

