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

基于最大时间戳计算各状态下唯一CDI的DAX度量实现

按CDI最新时间戳状态统计唯一CDI数量的DAX实现

示例数据

假设有如下Power BI表格(字段依次为:CDI、时间戳、创建日期、状态):

CDI时间戳创建日期状态
CDI12023-06-08 09:00:002023-06-08A
CDI12023-06-08 14:45:002023-06-08A
CDI22023-06-08 10:30:002023-06-08A
CDI22023-06-08 13:15:002023-06-08A
CDI32023-06-08 11:20:002023-06-08B
CDI32023-06-08 16:30:002023-06-08A
CDI42023-06-08 12:05:002023-06-08A
CDI42023-06-08 15:45:002023-06-08A
CDI52023-06-08 13:50:002023-06-08A
CDI52023-06-08 17:00:002023-06-08B

业务需求

计算各状态下的唯一CDI数量,规则为:每个CDI仅取其最大时间戳对应的状态参与统计。

DAX度量实现

注意:原代码中直接取MAX('YourTable'[Status])的逻辑有误(会取状态文本的最大值,而非最新时间戳对应的状态),以下是修正后的正确DAX度量:

DistinctCDIByMaxStatus = 
VAR SelectedDate = SELECTEDVALUE('YourTable'[CreatedDate])
RETURN
CALCULATE(
    DISTINCTCOUNT('YourTable'[CDI]),
    FILTER(
        ALL('YourTable'),
        'YourTable'[CreatedDate] = SelectedDate &&
        'YourTable'[时间戳] = CALCULATE(MAX('YourTable'[时间戳]), ALLEXCEPT('YourTable', 'YourTable'[CDI]))
    )
)

代码逻辑说明

  1. SelectedDate变量:捕获当前上下文选中的创建日期,确保统计范围限定在指定日期内。
  2. 核心统计逻辑:通过CALCULATE包裹DISTINCTCOUNT,统计符合筛选条件的唯一CDI数量。
  3. 筛选规则:
    • 用ALL('YourTable')清除当前表的上下文筛选,遍历全表数据;
    • 筛选出「创建日期等于选中日期」且「该行时间戳为对应CDI的最大时间戳」的记录——其中ALLEXCEPT('YourTable', 'YourTable'[CDI])会保留CDI的上下文,单独计算每个CDI的最大时间戳。

将该度量与「状态」字段搭配使用(如放入矩阵视觉对象的「值」区域,将「状态」拖入行/列区域),即可得到各状态下符合规则的唯一CDI统计结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:02:05