Power BI矩阵视觉中用度量值统计另一度量值的True值
解决Power BI中基于另一个度量值统计True值的问题
问题根源
直接统计布尔型度量值的True数量时容易触发错误,核心原因是:度量值是动态聚合计算的,若未正确迭代到单一行/商品的上下文,DAX无法将全局聚合的布尔值转换为可统计的数值。
解决方案
需通过迭代函数(如SUMX)遍历目标粒度的行(比如商品维度的每个商品),在每行上下文里计算Measure_1,再将布尔值转为数值后求和统计。
基础写法(统计去重商品数量)
如果需要统计每个合作伙伴不同商品的低价销售数量,迭代商品维度表的去重商品ID:
Measure_2 = SUMX( VALUES('商品表'[商品ID]), // 按商品粒度迭代,避免重复统计同一商品 INT([Measure_1]) // 将True转为1,False转为0 )
备选写法(统计所有销售行中的低价记录)
如果需要统计所有销售行里的低价次数(而非去重商品数),直接迭代销售事实表:
Measure_2 = SUMX( '销售事实表', IF([Measure_1], 1, 0) // 显式判断并转换为数值 )
关键注意事项
- 粒度匹配:根据需求选择迭代的表——统计商品数选维度表,统计销售次数选事实表。
- Measure_1的上下文兼容性:确保
Measure_1在单个商品+合作伙伴的上下文里能正确返回布尔值。例如Measure_1的合理写法:
Measure_1 = // 计算当前上下文的销售价是否低于指导价 SUM('销售事实表'[销售价]) < MAX('商品表'[指导价])
- 布尔值转换:用
INT()或IF()将布尔值转为数值,DAX中布尔值本身无法直接参与聚合统计,必须显式转换。
内容的提问来源于stack exchange,提问作者Dániel Holocsi
相关产品推荐
相关产品推荐

