You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Power BI中实现同一列单个值与总计值的除法计算?

Power BI计算类别分数占总分数比例的问题解决

你的需求是把单个类别(比如Hardware)的分数除以全表总分数,得到占比(比如44/470≈0.09),但当前用的DAX公式返回了470,这是因为公式逻辑有误,下面给出修正方案:

原公式的问题

  1. COUNTROWS(FILTER(Factory,Factory[Category]="Hardware"))统计的是Hardware类别的行数,不是你需要的分数值44
  2. 没有正确获取不受筛选影响的全表总分数,导致上下文计算错误

正确的DAX写法

根据你的表结构,提供两种可行的度量值:

情况1:已经有总分数度量值

如果你已经创建了计算全表总分数的度量值[Total Score],可以用这个公式:

Hardware占比 = 
DIVIDE(
    CALCULATE(SUM(Factory[Score]), Factory[Category] = "Hardware"),
    [Total Score]
)

情况2:直接计算总分数

如果没有预定义的总分数度量值,直接在公式里计算全表总分:

Hardware占比 = 
VAR 硬件类别分数 = CALCULATE(SUM(Factory[Score]), Factory[Category] = "Hardware")
VAR 全表总分数 = CALCULATE(SUM(Factory[Score]), ALL(Factory))
RETURN
DIVIDE(硬件类别分数, 全表总分数)

核心要点

  • 用SUM(Factory[Score])获取对应类别的分数值,替代原公式里统计行数的COUNTROWS
  • ALL(Factory)的作用是清除当前的筛选上下文,确保计算的是全表所有行的总分,不会被当前类别筛选限制
  • DIVIDE是DAX里安全的除法函数,会自动处理除数为0的情况,避免出现错误

内容的提问来源于stack exchange,提问作者Cheries

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:32:54