Power BI新手求DAX度量值编写:动态日期筛选统计
Power BI DAX度量值:动态日期范围记录计数
需求说明
统计从数据最小日期(2021年1月1日)到仪表板动态筛选截止日期之间的记录数量,对应场景:
- 筛选截止到2023年7月31日,结果为5
- 筛选截止到2023年8月15日,结果为6
数据示例
| Code | Set Up Complete Date |
|---|---|
| 10537 | 02/01/2021 |
| 10542 | 26/04/2021 |
| 10543 | 25/03/2022 |
| 10568 | 26/05/2022 |
| 12176 | 31/07/2023 |
| 12177 | 15/08/2023 |
DAX度量值写法
假设你的数据表格名为设备记录表,替换为实际表名即可:
动态日期范围记录计数 = VAR 最小日期 = DATE(2021, 1, 1) // 固定数据起始日期,也可改用MIN('设备记录表'[Set Up Complete Date])自动获取 VAR 筛选截止日期 = // 若使用独立日期表(推荐),用MAX('日期表'[日期]);直接筛选日期列则用MAX('设备记录表'[Set Up Complete Date]) MAX('日期表'[日期]) RETURN CALCULATE( COUNTROWS('设备记录表'), '设备记录表'[Set Up Complete Date] >= 最小日期, '设备记录表'[Set Up Complete Date] <= 筛选截止日期 )
代码说明
- 最小日期:直接指定
2021-01-01,如果后续数据起始日期可能变化,改用MIN('设备记录表'[Set Up Complete Date])可自动适配数据中的最早日期 - 筛选截止日期:
- 推荐使用独立日期表进行筛选,此时用
MAX('日期表'[日期])获取用户筛选后的最大日期,这是Power BI的最佳实践,能避免上下文筛选冲突 - 若直接在
Set Up Complete Date列上筛选,替换为MAX('设备记录表'[Set Up Complete Date])即可
- 推荐使用独立日期表进行筛选,此时用
- CALCULATE函数:通过筛选条件限定日期范围,统计符合条件的行数
场景验证
- 场景1:筛选截止到2023年7月31日时,
筛选截止日期为2023-07-31,前5条记录符合条件,计数结果为5 - 场景2:筛选截止到2023年8月15日时,
筛选截止日期为2023-08-15,所有6条记录都符合条件,计数结果为6
注意事项
- 确保
Set Up Complete Date列的数据类型为日期/时间,如果当前是文本格式,需先转换,可使用DATEVALUE('设备记录表'[Set Up Complete Date])(适配日/月/年格式)替代原列名 - 使用独立日期表时,需将日期表与
设备记录表的Set Up Complete Date列建立关系
内容的提问来源于stack exchange,提问作者Newbie
相关产品推荐
相关产品推荐

