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

Power BI DAX 数组子集匹配逻辑与求和异常问题咨询

问题解答

1. 匹配逻辑确认

现有DAX的匹配逻辑为完整值精确匹配,代码中EARLIER ( [_txt] ) = 'lookup'[Column1]的判断条件要求拆分后的选项和lookup表Column1存储的内容完全一致,你单独选中iOS对应选项时计算正常就是精确匹配生效的证明。

2. 总分计算异常原因

全选时总分翻倍是原DAX的行上下文嵌套逻辑错误导致的:
原代码在RETURN段又重新遍历了一次完整的digital_competences_q3表,叠加CALCULATE的上下文转换效果,导致拆分后的5个选项的分数被重复累加了2次,5*2=10的预期值重复计算后就得到了20的错误结果。

修正后的DAX计算列代码

Column = 
VAR CurrentValue = [q3_a]
VAR SplitList = SUBSTITUTE(CurrentValue, ";", "|")
VAR ItemCount = PATHLENGTH(SplitList)
VAR TotalScore = SUMX(
    GENERATESERIES(1, ItemCount),
    VAR ItemText = TRIM(PATHITEM(SplitList, [Value], TEXT))
    RETURN CALCULATE(MAX('lookup'[score]), 'lookup'[Column1] = ItemText) + 0
)
RETURN TotalScore

上面的代码直接基于当前行的[q3_a]值拆分计算,没有多余的全表遍历逻辑,避免重复计算问题,同时保留了原有的精确匹配规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:04