Power BI DAX 单日总数值多行重复的日期过滤累计总计计算咨询
DAX优化实现方案
核心思路
利用DAX的分组聚合能力对日期去重,提取每日唯一的总检查行数后再求和,完全不需要依赖额外的索引列,适配性更强。
度量值代码
1. 通用总检查行数量度(同时支持单日/多日筛选)
该度量在单选单日时返回当日总检查行数,多选多日时返回选中范围的累计总检查行数,直接满足KPI卡片的展示需求:
总检查行数 = SUMX ( // 按日期分组,去重得到每个唯一日期 SUMMARIZE ( 'Table', 'Table'[日期], "单日总检查行", MAX ( 'Table'[总检查行数] ) ), [单日总检查行] )
验证效果:
- 单选01/01/21时返回220
- 选中02/01/21和03/01/21时返回250+300=550
2. 时间维度运行总计量度
如果需要展示从选中时间范围起始日期到当前日期的逐天累计值,可基于上述通用度量扩展:
总检查行数_运行总计 = CALCULATE ( [总检查行数], FILTER ( ALLSELECTED ( 'Table'[日期] ), 'Table'[日期] <= MAX ( 'Table'[日期] ) ) )
方案优势
- 不依赖额外的索引列配置,后续新增/减少检查项无需调整度量逻辑
- 自动适配所有筛选上下文,支持按日、月、季度、年等不同时间维度聚合
- 逻辑简洁,计算性能优于依赖筛选特定检查项的实现方式
内容的提问来源于stack exchange,提问作者mrhippo85
相关产品推荐
相关产品推荐

