You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用DAX结合Slicer获取各产品指定时间点的最新状态

Power BI 产品最新状态筛选及可视化问题

需求与数据集

我需要在Power BI中实现以下需求:通过Calculated Date列的切片器筛选数据,获取每个产品在切片器指定日期下的最新状态,并将结果按Status统计产品数量进行可视化。

数据集说明

Calculated Date是计算列,规则:当Status等于"Status C"时,取值为Date加5天,其余情况与Date一致。原始数据集如下:

ProductStatusDateCalculated Date
Product AStatus A08/04/2023 00:2508/04/2023 00:25
Product AStatus B07/04/2023 02:3407/04/2023 02:34
Product AStatus C01/04/2023 00:2906/04/2023 00:29
Product AStatus D30/03/2023 23:4130/03/2023 23:41
Product AStatus E30/03/2023 00:4930/03/2023 00:49
Product BStatus A29/03/2023 00:3129/03/2023 00:31
Product BStatus B28/03/2023 02:3228/03/2023 02:32
Product BStatus C26/03/2023 23:4231/03/2023 23:42
Product CStatus D26/03/2023 00:4426/03/2023 00:44

预期筛选结果示例

当切片器日期设置为06/04/2023 00:00时,应得到每个产品的最新状态:

ProductStatusDateCalculated Date
Product AStatus C01/04/2023 00:2906/04/2023 00:29
Product BStatus C26/03/2023 23:4231/03/2023 23:42
Product CStatus D26/03/2023 00:4426/03/2023 00:44

当前问题

完成筛选后,无法将过滤后的表格以按Status统计Product数量的形式进行可视化。


解决方案

步骤1:创建核心度量值

通过DAX度量值实现动态筛选最新状态并统计数量:

  1. 创建度量值是否为最新状态:
是否为最新状态 = 
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]),但推荐用独立日期表保证筛选逻辑稳定。

  1. 创建度量值各状态产品数量:
各状态产品数量 = 
CALCULATE(
    DISTINCTCOUNT('数据集'[Product]),
    FILTER('数据集', [是否为最新状态] = 1)
)

步骤2:配置可视化组件

  1. 添加切片器:选择日期表(或Calculated Date列)作为筛选字段,设置日期范围。
  2. 创建统计图表(如柱状图):
    • 图例/横轴选择Status列
    • 值字段选择各状态产品数量度量值

关键逻辑说明

度量值会针对每个产品,先筛选出切片器指定日期前的最大Calculated Date,标记对应记录为最新状态;再基于标记结果统计各状态下的产品数量,确保可视化数据与筛选后的最新状态完全匹配。


内容的提问来源于stack exchange,提问作者Unkle77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:35:00