如何在DAX中计算多分类累计百分比并生成运行百分比折线图
累计运行百分比DAX解决方案
前置要求
先确保你的模型里存在独立的日期维度表,且日期维度表和你的业务事实表通过日期字段建立了单方向一对多关联,所有折线图的时间筛选、轴字段都使用日期维度表的字段,不要直接用事实表的日期字段。
分步实现
第一步:定义基础度量值
将各指标的基础求和逻辑单独拆分为度量,方便后续排查问题:
-- 实际值合计 Total_Actuals = SUM('你的事实表名'[actuals]) -- 未结订单合计 Total_Open_Orders = SUM('你的事实表名'[open-orders]) -- 预测值合计 Total_Forecast = SUM('你的事实表名'[forecast])
第二步:定义累计逻辑度量
-- 累计到当前日期的(实际值+未结订单)总和 Cumulative_Actual_Open = CALCULATE( [Total_Actuals] + [Total_Open_Orders], FILTER( ALLSELECTED('日期表'[日期]), '日期表'[日期] <= MAX('日期表'[日期]) ) ) -- 所选时间范围内的总预测值 Total_Period_Forecast = CALCULATE([Total_Forecast], ALLSELECTED('日期表'[日期])) -- 最终累计运行百分比 Running_Percent = DIVIDE([Cumulative_Actual_Open], [Total_Period_Forecast], 0)
常见问题排查
如果仍未实现累计效果,可检查以下两点:
- 确认累计逻辑中使用的是
ALLSELECTED而非ALL,避免超出页面筛选范围的日期被计入统计 - 不要在累计筛选中使用事实表的日期字段,避免事实表的其他筛选条件限制累计范围
折线图配置
将日期维度表的日期字段拖入轴,将Running_Percent度量拖入值即可生成符合要求的累计百分比折线。如果需要分别展示三个指标各自的累计百分比,只需将Cumulative_Actual_Open度量中的分子替换为对应指标的累计求和逻辑即可。
内容的提问来源于stack exchange,提问作者user14912884
相关产品推荐
相关产品推荐

