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

Power BI中基于另一列最小值回溯列值的DAX公式需求

解决Power BI中基于最小值回溯对应列值的DAX计算列问题

你的原公式仅计算了分组内KBETR的最小值,未实现“回溯对应列值”的核心需求。以下是两种通用DAX方案,可直接复用至其他场景:

场景1:分组内KBETR最小值唯一

使用LOOKUPVALUE直接匹配最小值对应的目标列值:

回溯列 = 
VAR MinKBETR = 
    CALCULATE(
        MIN(ZMOB_TZONE_L1[KBETR]),
        ALLEXCEPT(
            ZMOB_TZONE_L1,
            ZMOB_TZONE_L1[LZONE],
            ZMOB_TZONE_L1[INCO1],
            ZMOB_TZONE_L1[WGBEZ]
        )
    )
RETURN
    LOOKUPVALUE(
        ZMOB_TZONE_L1[要回溯的列名],  -- 替换为你需要获取值的目标列
        ZMOB_TZONE_L1[KBETR], MinKBETR,
        ZMOB_TZONE_L1[LZONE], ZMOB_TZONE_L1[LZONE],
        ZMOB_TZONE_L1[INCO1], ZMOB_TZONE_L1[INCO1],
        ZMOB_TZONE_L1[WGBEZ], ZMOB_TZONE_L1[WGBEZ]
    )

场景2:分组内存在多个KBETR最小值行

若同一分组内有多行KBETR等于最小值,需指定排序规则确定取哪一行的目标值:

回溯列 = 
VAR GroupFilter = 
    ALLEXCEPT(
        ZMOB_TZONE_L1,
        ZMOB_TZONE_L1[LZONE],
        ZMOB_TZONE_L1[INCO1],
        ZMOB_TZONE_L1[WGBEZ]
    )
VAR MinKBETR = CALCULATE(MIN(ZMOB_TZONE_L1[KBETR]), GroupFilter)
VAR MinRows = FILTER(GroupFilter, ZMOB_TZONE_L1[KBETR] = MinKBETR)
-- 替换[排序列名]为实际列(如行号、日期),ASC为升序,DESC为降序
VAR TargetRow = TOPN(1, MinRows, ZMOB_TZONE_L1[排序列名], ASC)
RETURN
    MAXX(TargetRow, ZMOB_TZONE_L1[要回溯的列名])  -- 替换为目标列

复用适配方法

替换以下参数即可快速应用到其他业务场景:

  • ZMOB_TZONE_L1:你的数据表名称
  • [LZONE], [INCO1], [WGBEZ]:分组依据的列集合
  • [KBETR]:用于计算最小值的基准列
  • [要回溯的列名]:需要获取对应值的目标列
  • [排序列名](场景2):用于确定取值优先级的排序依据列

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:17:04