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

在Power BI中跟踪组内车型名称变更并生成最新名称分组列

解决方案:DAX计算列跟踪车型最新名称

假设你的表名为VehicleNameHistory,包含Year、Old_name、New_name字段,以下是创建Naming_group计算列的DAX代码:

Naming_group = 
VAR CurrentName = [New_name]
-- 找到当前名称后续年份的最新变更名称
VAR NextName = 
    MAXX(
        TOPN(
            1,
            FILTER(
                'VehicleNameHistory',
                'VehicleNameHistory'[Old_name] = CurrentName && 'VehicleNameHistory'[Year] > [Year]
            ),
            'VehicleNameHistory'[Year], DESC
        ),
        'VehicleNameHistory'[New_name]
    )
-- 递归查找直到没有后续变更,返回最终的最新名称
RETURN
    IF(
        NextName = BLANK(),
        CurrentName,
        CALCULATE(
            [Naming_group],
            'VehicleNameHistory'[New_name] = NextName,
            'VehicleNameHistory'[Year] > [Year]
        )
    )

代码逻辑说明:

  • 递归追踪变更链:从当前行的New_name出发,持续查找后续年份中以该名称作为Old_name的记录,获取对应的New_name,直到没有后续变更为止,最终返回的就是该车型的最新名称。
  • 适配未更名场景:如果车型当年未更名(Old_name与New_name一致),递归会最终定位到最近的未变更记录,直接返回该名称。
  • 小数据集适配:因为你的数据集规模较小,递归计算的性能不会有任何问题。

额外注意事项:

  • 确保Year字段为数值类型(如2020、2021),保证年份比较的准确性。
  • 若存在无Old_name的初始年份记录,无需额外修改代码,初始名称的后续变更会被正常追踪。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:02:44