Power BI单值列场景下实际销售额与预测值偏差度量值计算问询
Power BI 计算实际销售额相对预测值偏差的解决方案
方案1:直接编写DAX度量值(无需修改原表结构,推荐优先使用)
不需要调整原有数据表结构,直接新建3个度量值即可完成计算:
- 实际销售额度量值
实际销售额 = CALCULATE(SUM('你的表名'[sales rub]), '你的表名'[source] = "2021 fact")
如果后续存在多年份实际值,可把筛选条件修改为CONTAINSSTRING('你的表名'[source], "fact"),适配所有年份的实际值统计。
2. 预测销售额度量值
预测销售额 = CALCULATE(SUM('你的表名'[sales rub]), '你的表名'[source] = "forecast")
- 偏差计算度量值,可按需选择绝对偏差或相对偏差率:
// 绝对偏差:实际值-预测值 销售额绝对偏差 = [实际销售额] - [预测销售额] // 相对偏差率:(实际值-预测值)/预测值,第三个参数表示预测值为0时返回0,避免计算报错 销售额偏差率 = DIVIDE([实际销售额] - [预测销售额], [预测销售额], 0)
完成后将year、week、category放入矩阵行字段,新建的三个度量值放入值字段即可自动按维度聚合计算对应偏差。
方案2:Power Query 转换表结构为宽表(适合多指标长期复用场景)
如果更习惯用宽表做计算,可以通过透视列把长表转为宽表后直接操作:
- 进入Power Query编辑器,选中对应数据表
- 选中
source列,点击「转换」选项卡下的「透视列」 - 值列选择
sales rub,聚合函数选择「求和」,确认后原表会转换为如下结构:
| year | week | category | 2021 fact | forecast |
|---|---|---|---|---|
| 2021 | 32 | shorts | 54387 | 58264 |
| 2021 | 33 | dresses | 4325 | 5432 |
- 应用更改加载到数据模型后,就可以直接用快速度量值或者自定义列完成偏差计算。
内容的提问来源于stack exchange,提问作者Ekaterina
相关产品推荐
相关产品推荐

