Power BI中按月份分段时累计求和计算错误,如何修正?
解决Power BI累计金额计算问题
原度量值的问题分析
- 语法错误:
MAX(''Transactions'[Transaction Date])中多了一个单引号,正确写法应为MAX('Transactions'[Transaction Date]) - 未利用关联日历表:直接使用
Transactions表的日期筛选,会因交易日期不连续导致累计逻辑失效,且无法匹配日历表的上下文筛选规则 - 隐式求和风险:直接引用
'Transactions'[Amount]列而非汇总度量值,容易引发上下文计算的不确定性
修改后的DAX度量值
首先创建基础金额汇总度量(规范写法):
Total Amount = SUM('Transactions'[Amount])
再创建累计金额度量:
Cumulative Amount = CALCULATE( [Total Amount], FILTER( ALL('Calendar Table'[Date]), 'Calendar Table'[Date] <= MAX('Calendar Table'[Date]) ) )
关键修改说明
- 基于日历表连续日期筛选:用
ALL('Calendar Table'[Date])清除当前日期上下文,确保累计范围覆盖从最早日期到当前上下文的最大日期,依托日历表的完整日期序列避免累计中断 - 使用明确汇总度量:
[Total Amount]明确对交易金额求和,消除DAX隐式计算的潜在问题 - 调整矩阵字段匹配需求:将Matrix图表的列字段从
Calendar Table[Month]替换为Calendar Table[Date],才能展示每个交易日期对应的累计值(与期望结果格式一致)
验证结果
应用修改后的度量值并调整矩阵字段后,将得到如下结果:
| Thursday, January 5, 2023 | Saturday, January 14, 2023 | Friday, February 5, 2023 | Wednesday, February 22, 2023 |
|---|---|---|---|
| $1,000 | $1,450 | $950 | $2,403 |
内容的提问来源于stack exchange,提问作者AlexN
相关产品推荐
相关产品推荐

