Power BI DAX累计求和问题:按年月累计未得到正确结果
解决Power BI年月累计求和问题
问题根源
你当前的公式直接用事实表(REBATES_COM)的Posting Date列做时间智能计算,且未使用单独的日期维度表,导致在仅显示月份的层级里年份上下文丢失,TOTALYTD无法正确按年月累计求和。
具体解决步骤
1. 建立并标记规范日期表
Power BI的时间智能函数依赖独立的日期表,不能直接用事实表的日期列。用DAX生成日期表:
Date Table = CALENDARAUTO()
给日期表添加匹配可视化的年月格式化列:
Year-Month = FORMAT('Date Table'[Date], "YYYY-MM")
将Date Table的Date列与REBATES_COM的Posting Date列建立一对多关系,最后在「建模」选项卡把Date Table标记为「日期表」。
2. 替换累计度量值
选择以下任意一种方式编写度量值:
方式一:修正TOTALYTD的上下文
累计返利 = TOTALYTD( SUM(REBATES_COM[net month]), 'Date Table'[Date], ALLSELECTED('Date Table'[Year-Month]) )
方式二:用SUMX自定义累计(更灵活)
累计返利 = VAR 当前年月 = MAX('Date Table'[Year-Month]) RETURN SUMX( FILTER( ALLSELECTED('Date Table'[Year-Month]), 'Date Table'[Year-Month] <= 当前年月 ), CALCULATE(SUM(REBATES_COM[net month])) )
3. 调整可视化配置
在表格可视化中,把原来的日期字段替换为Date Table的Year-Month(或基于日期表的年+月层级),再将新做的「累计返利」度量值拖入值区域,即可得到你预期的黄色列累计效果。
内容的提问来源于stack exchange,提问作者KLM
相关产品推荐
相关产品推荐

