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

Power BI中DAX代码实现工单最新有效状态提取的需求与问题

Power BI中DAX代码实现工单最新有效状态提取的需求与问题

你好,我来帮你搞定这个Power BI里提取工单最新有效状态的问题~先理清楚你的核心需求和现有代码的问题:

需求回顾

你手里的工单数据有大量重复的工单编号,想要生成一个汇总表,每个工单只显示最新的有效状态:

  • 有效状态仅包含 Complete 和 Incomplete
  • 如果最新的记录状态是 As Per Lead Engineer Jobsheet,直接忽略这条,继续往前找最近的那条有效状态记录
  • 比如你给的示例数据里,工单4507101最新的记录是As Per...,所以要跳过它,取下一条最近的Complete状态

现有代码的问题

你原来写的DAX代码只是取了每个工单最新时间的状态,没有过滤无效状态,更不会在最新状态无效时往前追溯,所以才会出现不符合预期的结果。

解决方案:修正后的DAX代码

这里给你两种可行的写法,都能满足你的需求,选你觉得顺手的就行:

写法一:TOPN筛选法(直观易懂)

有效工单状态汇总 = 
SUMMARIZE(
    'Table1 Data',
    'Table1 Data'[Work Order No],
    "最新有效状态",
    VAR 当前工单 = 'Table1 Data'[Work Order No]
    // 先筛选当前工单下所有有效状态的记录,排除无效的As Per...
    VAR 筛选有效状态的工单记录 = 
        FILTER(
            ALL('Table1 Data'),
            'Table1 Data'[Work Order No] = 当前工单 &&
            'Table1 Data'[Status] IN {"Complete", "Incomplete"}
        )
    // 对有效记录按结束时间从新到旧排序,取第一条
    VAR 按结束时间降序取第一条 = 
        TOPN(
            1,
            筛选有效状态的工单记录,
            'Table1 Data'[Finish Time], DESC
        )
    // 提取这条记录的状态值,如果没有有效记录返回自定义提示
    RETURN
        IF(
            ISEMPTY(筛选有效状态的工单记录),
            "无有效状态",
            MAXX(按结束时间降序取第一条, 'Table1 Data'[Status])
        )
)

写法二:RANKX排名法(适合熟悉排名逻辑的用户)

有效工单状态汇总_RANKX版 = 
// 先给所有有效记录按工单分组,按结束时间降序排名
VAR 有效记录排名表 = 
    ADDCOLUMNS(
        FILTER('Table1 Data', 'Table1 Data'[Status] IN {"Complete", "Incomplete"}),
        "状态记录排名",
        RANKX(
            FILTER('Table1 Data', 'Table1 Data'[Work Order No] = EARLIER('Table1 Data'[Work Order No])),
            'Table1 Data'[Finish Time],, DESC, DENSE
        )
    )
// 筛选出每个工单排名第1的记录(最新有效状态),汇总成表
RETURN
    SUMMARIZE(
        FILTER(有效记录排名表, [状态记录排名] = 1),
        'Table1 Data'[Work Order No],
        "最新有效状态", 'Table1 Data'[Status]
    )

额外说明

  • 两种写法都会自动跳过所有As Per Lead Engineer Jobsheet的记录,只在有效状态里找最新的那条
  • 如果某个工单没有任何有效状态(全是As Per...),写法一里会返回无有效状态,写法二则不会显示该工单,你可以根据自己的需求调整

备注:内容来源于stack exchange,提问作者Shak543

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:28:15