You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Power BI Desktop平均值计算异常,求排查与计算逻辑确认

问题根源:混淆了「比例平均值」和「数量平均值」

你现在的核心困惑在于:你用Power BI计算的是任务状态的占比平均值,但你实际想要的是每日平均总任务数量,这是两个完全不同的统计逻辑,所以结果自然不符合预期。

为什么会得到0.44和0.56?

你的OpenTasksClosedTasks是0/1标记列(1代表该任务对应状态,0代表不是)。当你对这两列直接计算平均值时:

  • OpenTasks的平均值 = 所有行中OpenTasks=1的行数 ÷ 总行数(总任务数)
  • ClosedTasks的平均值 = 所有行中ClosedTasks=1的行数 ÷ 总行数

所以0.44和0.56其实是「未完成任务占总任务的比例」和「已完成任务占总任务的比例」,加起来刚好是100%,这个计算逻辑本身是对的,但和你想要的结果完全不是一回事。

如何得到你期望的「每日平均总任务数」?

你想要的2818 ÷ 10 = 281,本质是总任务数 ÷ 有任务的天数,这属于「按日期维度的总任务均值」,需要通过自定义度量值实现:

步骤1:创建总任务数度量值

因为每个任务要么是Open要么是Closed,所以总任务数可以用两列的和来计算:

总任务数 = SUM('你的表名'[OpenTasks]) + SUM('你的表名'[ClosedTasks])

或者如果每行对应一个任务,也可以直接用行数统计:

总任务数 = COUNTROWS('你的表名')

步骤2:创建任务天数度量值

统计有任务记录的唯一日期数量:

任务天数 = DISTINCTCOUNT('你的表名'[日期列])

步骤3:计算每日平均任务数

DIVIDE函数避免除数为0的错误:

每日平均任务数 = DIVIDE([总任务数], [任务天数])

把这个度量值放到矩阵中,就能得到你想要的类似281的结果了。

额外提醒

  • 确保你的「日期列」是Power BI识别的日期类型,否则DISTINCTCOUNT可能无法正确统计天数。
  • 如果你的数据中存在某一天没有任务的情况,而你希望把这些天数也纳入计算(比如10天中有2天无任务,按10天算而不是8天),那需要用完整的日期表来关联,再计算所有日期的数量。

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

火山引擎 最新活动