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

如何在DAX中过滤LOOKUPVALUE取符合条件的最后一行?

解决LOOKUPVALUE多匹配报错:获取最后一条匹配记录

当LOOKUPVALUE遇到多条匹配记录时会触发报错,因为它要求返回结果唯一。要获取每个CoilNo对应的最后一条记录(按日期或ID排序),可以用以下几种DAX方案:

方案1:按日期取最新记录

假设目标表有日期列(如RecordDate),先找到每个CoilNo对应的最大日期,再提取该日期下的UTol值:

Strand UTol = 
VAR CurrentLotNo = 'LEONI DEV$Lot Measurement'[Lot No_]
VAR LatestDate = 
    CALCULATE(
        MAX('CAQ_Wire T_USER_REALVALS - Strand'[RecordDate]), // 替换为实际日期列名
        'CAQ_Wire T_USER_REALVALS - Strand'[CoilNo] = CurrentLotNo
    )
RETURN
    CALCULATE(
        VALUES('CAQ_Wire T_USER_REALVALS - Strand'[UTol]),
        'CAQ_Wire T_USER_REALVALS - Strand'[CoilNo] = CurrentLotNo,
        'CAQ_Wire T_USER_REALVALS - Strand'[RecordDate] = LatestDate
    )

方案2:按ID取最新记录

如果表中有自增ID列(如RecordID),最大ID对应最新记录,逻辑和日期方案一致:

Strand UTol = 
VAR CurrentLotNo = 'LEONI DEV$Lot Measurement'[Lot No_]
VAR MaxRecordID = 
    CALCULATE(
        MAX('CAQ_Wire T_USER_REALVALS - Strand'[RecordID]), // 替换为实际ID列名
        'CAQ_Wire T_USER_REALVALS - Strand'[CoilNo] = CurrentLotNo
    )
RETURN
    CALCULATE(
        VALUES('CAQ_Wire T_USER_REALVALS - Strand'[UTol]),
        'CAQ_Wire T_USER_REALVALS - Strand'[CoilNo] = CurrentLotNo,
        'CAQ_Wire T_USER_REALVALS - Strand'[RecordID] = MaxRecordID
    )

方案3:用TOPN简化逻辑

TOPN可以直接筛选出排序后的第一条记录,代码更简洁:

Strand UTol = 
VAR CurrentLotNo = 'LEONI DEV$Lot Measurement'[Lot No_]
VAR LatestRecord = 
    TOPN(
        1,
        FILTER('CAQ_Wire T_USER_REALVALS - Strand', 'CAQ_Wire T_USER_REALVALS - Strand'[CoilNo] = CurrentLotNo),
        'CAQ_Wire T_USER_REALVALS - Strand'[RecordDate], DESC // 替换为日期/ID列,DESC表示降序取最新
    )
RETURN
    MAXX(LatestRecord, 'CAQ_Wire T_USER_REALVALS - Strand'[UTol])

注意事项

  • 务必将公式中的RecordDate/RecordID替换为你表中实际的日期或ID列名
  • 如果同一CoilNo在最大日期/ID下仍有多条不同的UTol值,VALUES会返回错误,此时需要检查数据一致性,或添加额外筛选条件(如时间戳)确保唯一匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:42:43