如何计算选定日期前的最新行数据
实现IsMostRecent度量值筛选最新状态记录
1. 编写DAX度量值
直接复制以下代码到Power BI的度量值编辑器:
IsMostRecent = VAR SelectedDate = MAX('Date'[Before]) -- 读取切片器选定的日期 VAR CurrentRowTime = MAX('AuditTable'[Timestamp]) -- 当前行的状态变更时间戳 VAR LatestValidTime = CALCULATE( MAX('AuditTable'[Timestamp]), ALLEXCEPT('AuditTable', 'AuditTable'[工厂], 'AuditTable'[部门], 'AuditTable'[解决方案]), 'AuditTable'[Timestamp] <= SelectedDate ) -- 计算当前组合在选定日期前的最晚变更时间 RETURN IF(CurrentRowTime = LatestValidTime, 1, 0)
注意:如果你的Before切片器直接绑定审计表的日期列,把代码里的
MAX('Date'[Before])改成MAX('AuditTable'[你的筛选日期列名])
2. 应用筛选规则
- 把
IsMostRecent度量值拖到表格视觉对象的筛选器面板 - 在筛选器里设置条件为「等于1」
- 确认切片器和度量值的日期逻辑匹配,刷新数据后就能看到效果
逻辑说明
这个度量值会自动:
- 获取你通过Before切片器选的日期
- 按【工厂+部门+解决方案】分组,找出每组在选定日期之前的最后一次状态变更时间
- 只保留时间戳等于这个最晚时间的行,也就是每组的最新有效记录
内容的提问来源于stack exchange,提问作者Jan Rojowski
相关产品推荐
相关产品推荐

