使用DAX结合Slicer获取各产品指定时间点的最新状态
Power BI 产品最新状态筛选及可视化问题
需求与数据集
我需要在Power BI中实现以下需求:通过Calculated Date列的切片器筛选数据,获取每个产品在切片器指定日期下的最新状态,并将结果按Status统计产品数量进行可视化。
数据集说明
Calculated Date是计算列,规则:当Status等于"Status C"时,取值为Date加5天,其余情况与Date一致。原始数据集如下:
| Product | Status | Date | Calculated Date |
|---|---|---|---|
| Product A | Status A | 08/04/2023 00:25 | 08/04/2023 00:25 |
| Product A | Status B | 07/04/2023 02:34 | 07/04/2023 02:34 |
| Product A | Status C | 01/04/2023 00:29 | 06/04/2023 00:29 |
| Product A | Status D | 30/03/2023 23:41 | 30/03/2023 23:41 |
| Product A | Status E | 30/03/2023 00:49 | 30/03/2023 00:49 |
| Product B | Status A | 29/03/2023 00:31 | 29/03/2023 00:31 |
| Product B | Status B | 28/03/2023 02:32 | 28/03/2023 02:32 |
| Product B | Status C | 26/03/2023 23:42 | 31/03/2023 23:42 |
| Product C | Status D | 26/03/2023 00:44 | 26/03/2023 00:44 |
预期筛选结果示例
当切片器日期设置为06/04/2023 00:00时,应得到每个产品的最新状态:
| Product | Status | Date | Calculated Date |
|---|---|---|---|
| Product A | Status C | 01/04/2023 00:29 | 06/04/2023 00:29 |
| Product B | Status C | 26/03/2023 23:42 | 31/03/2023 23:42 |
| Product C | Status D | 26/03/2023 00:44 | 26/03/2023 00:44 |
当前问题
完成筛选后,无法将过滤后的表格以按Status统计Product数量的形式进行可视化。
解决方案
步骤1:创建核心度量值
通过DAX度量值实现动态筛选最新状态并统计数量:
- 创建度量值
是否为最新状态:
是否为最新状态 = VAR SelectedDate = MAX('日期表'[Date]) -- 使用独立日期表关联Calculated Date,避免筛选冲突 VAR CurrentProduct = MAX('数据集'[Product]) VAR MaxValidDate = CALCULATE( MAX('数据集'[Calculated Date]), FILTER( ALL('数据集'), '数据集'[Product] = CurrentProduct && '数据集'[Calculated Date] <= SelectedDate ) ) RETURN IF(MAX('数据集'[Calculated Date]) = MaxValidDate, 1, 0)
若未使用独立日期表,可将
SelectedDate替换为MAX('数据集'[Calculated Date]),但推荐用独立日期表保证筛选逻辑稳定。
- 创建度量值
各状态产品数量:
各状态产品数量 = CALCULATE( DISTINCTCOUNT('数据集'[Product]), FILTER('数据集', [是否为最新状态] = 1) )
步骤2:配置可视化组件
- 添加切片器:选择
日期表(或Calculated Date列)作为筛选字段,设置日期范围。 - 创建统计图表(如柱状图):
- 图例/横轴选择
Status列 - 值字段选择
各状态产品数量度量值
- 图例/横轴选择
关键逻辑说明
度量值会针对每个产品,先筛选出切片器指定日期前的最大Calculated Date,标记对应记录为最新状态;再基于标记结果统计各状态下的产品数量,确保可视化数据与筛选后的最新状态完全匹配。
内容的提问来源于stack exchange,提问作者Unkle77
相关产品推荐
相关产品推荐

