如何创建Model Hours累计求和列?DAX代码异常求排查
DAX累计求和异常排查与修复
问题核心原因
你的代码在当前表中累计值始终返回80(重复求和40+40),本质是**ALL('ProjectHours'[ModelHours])的使用逻辑错误**:该函数仅移除ModelHours列的筛选上下文,却未正确控制WeekStart的筛选范围,导致累计计算时没有按周逐步累加,反而直接求和了所有符合条件的记录。
修复后的DAX代码
替换原代码为以下正确的累计求和公式:
Running total = CALCULATE( SUM('ProjectHours'[ModelHours]), FILTER( ALL('ProjectHours'[WeekStart]), 'ProjectHours'[WeekStart] <= EARLIER('ProjectHours'[WeekStart]) ) )
额外验证点
- 检查
ProjectHours表的WeekStart列:确保是日期/日期时间类型,若同一周有多条记录,SUM会自动累加,但需确认视觉对象已按WeekStart正确分组。 - 核对视觉对象设置:确认行/轴字段仅使用
WeekStart,无额外筛选器干扰累计逻辑。
内容的提问来源于stack exchange,提问作者Colin Mulcahy
相关产品推荐
相关产品推荐

