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

Power BI多条件查询次大值:获取DIVUCHIM_MONE表同一工单对应上一条Id

Power BI 实现同一工单上一条ID查询方案

以下两种方案都可以实现你要的效果,新手优先选DAX计算列方案,操作门槛更低。

方法1:DAX 新增计算列(推荐)

操作路径:进入报表视图 -> 选中DIVUCHIM_MONE表 -> 点击顶部「新建列」-> 粘贴下方代码即可

Id_Before = 
VAR CurrentWO = DIVUCHIM_MONE[work_order]
VAR CurrentId = DIVUCHIM_MONE[Id]
// 筛选同工单、ID小于当前ID的所有记录,取最大ID即为上一条记录ID
VAR MaxPreId = CALCULATE(MAX(DIVUCHIM_MONE[Id]), FILTER(ALL(DIVUCHIM_MONE), DIVUCHIM_MONE[work_order] = CurrentWO && DIVUCHIM_MONE[Id] < CurrentId))
// 无前置记录时返回0
RETURN IF(ISBLANK(MaxPreId), 0, MaxPreId)

运行后直接生成的Id_Before列和你给出的预期结果完全一致。

方法2:Power Query 实现(适合数据加载阶段预处理)

操作步骤:

  • 进入Power Query编辑器,选中DIVUCHIM_MONE表
  • 点击「分组依据」,设置:新列名=分组表,操作=所有行,分组依据=work_order
  • 新增自定义列,输入公式:Table.AddIndexColumn(Table.Sort([分组表], {"Id", Order.Ascending}), "序号", 1, 1, Int64.Type)
  • 展开自定义列中的Id、序号字段
  • 再新增自定义列,输入公式:try #"扩展后的表名"[Id]{[序号]-2} otherwise 0(注意把表名替换成你自己上一步生成的表名)
  • 删除多余的中间字段后加载回模型即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:27:03