首页 > 解决方案 > 计算列:不同的 id# 应返回第一个日期并忽略其他日期

问题描述

我的要求是 id# 有重复的记录并且也有重复的 received_date,我只需要为每个 id# 显示唯一的接收日期。你能帮我解决这个问题吗?

数据样本如下图:

[1]:https://i.stack.imgur.com/WOYu3.png

我在计算列中尝试了以下内容

expected_date_or_result =
VAR selected_id = test[id#]
VAR distinct_received_date =
    CALCULATE (
        FIRSTDATE ( test[received_date] ),
        FILTER ( test, test[id#] = selected_id )
    )
RETURN
    distinct_received_date

如果收到重复的日期,我现在不确定是否要添加空格。

请帮我解决一下这个。

注意:我不能使用删除重复选项,因为它会影响我的列组

标签: powerbidaxpowerquerycalculated-columns

解决方案


可能有很多方法可以解决这个问题,但这是我想到的第一个:

expected_date_or_result =
VAR TopRow =
    TOPN (
        1,
        FILTER ( test, test[id#] = EARLIER ( test[id#] ) ),
        test[received_date], ASC,
        test[group], ASC
    )
RETURN
    MAXX (
        FILTER ( TopRow, test[group] = EARLIER ( test[group] ) ),
        test[received_date]
    )

这将选择表的第一行过滤id#并按 and 排序received_dategroup然后过滤该行,以便仅当group是顶部时它不是空的,并received_date使用 提取列MAXX

结果


推荐阅读