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

PowerBI同表行对比:按ID与月份判断跨月重复值的DAX公式问题

问题原因

你原来的DAX代码存在两个逻辑漏洞:

  • 第二个FILTER函数没有限定同ID匹配,只要全表存在小于当前行月份的记录就会触发条件,导致同ID首月数据被错误标记
  • 没有先判断当前ID是否真的存在跨月出现的情况,也没有和当前ID的最小出现月份做对比
正确DAX代码
Duplicate = 
VAR CurrentID = Data[ID] -- 若你的ID字段为Policy No,此处替换为Data[Policy No]
VAR CurrentMonth = Data[Month]
-- 统计当前ID对应的所有不同月份数量
VAR IDMonthCount = CALCULATE(DISTINCTCOUNT(Data[Month]), ALLEXCEPT(Data, Data[ID]))
-- 提取当前ID首次出现的最小月份
VAR IDFirstMonth = CALCULATE(MIN(Data[Month]), ALLEXCEPT(Data, Data[ID]))
RETURN
IF(
    IDMonthCount > 1 && CurrentMonth > IDFirstMonth,
    "YES",
    "NO"
)
逻辑说明

该代码完全匹配你的需求规则:

  • 若同一ID所有记录都在同一个月:IDMonthCount=1,所有行返回NO
  • 若同一ID跨多个月出现:首次出现的最小月份所有行返回NO,晚于首次月份的所有行返回YES
    和你给出的预期效果示例完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 03:18:03