Power BI环境下如何用DAX统计字段不同值的聚合结果并计算比值?
解决方案
步骤1:新建度量值
打开Power BI报表视图,在右侧字段面板找到你从SQL Server导入的对应表,右键选择「新建度量值」,粘贴以下代码,替换其中的表名即可使用:
新增占总比 = VAR sum_new = CALCULATE(SUM('你的实际表名'[count]), '你的实际表名'[type] = "new") VAR sum_total = CALCULATE(SUM('你的实际表名'[count]), '你的实际表名'[type] = "total") RETURN DIVIDE(sum_new, sum_total, 0)
代码说明
VAR用于定义临时变量,简化逻辑同时避免重复计算CALCULATE是DAX的条件聚合核心函数,此处作用是先筛选出type等于指定值的行,再对count列做求和计算DIVIDE是安全除法函数,第三个参数为分母为0时的默认返回值,此处设置为0,也可替换为BLANK()返回空值避免报错
结果验证
对应你提供的示例数据,计算结果符合预期:
- type为new的count总和:
20+10=30 - type为total的count总和:
50+60=110 - 最终结果:
30/110≈27.27%
额外说明
- 该表达式完全兼容Direct Query模式,运行时会自动转换为SQL语句下发到SQL Server执行,无性能问题
- 若需要将结果显示为百分比,选中新建的度量值,在顶部「度量工具」选项卡中调整格式即可
- 若需要计算其他type的比值,仅需修改CALCULATE函数中的type筛选值即可
内容的提问来源于stack exchange,提问作者yalda sana
相关产品推荐
相关产品推荐

