【问题标题】:Second minimum date in power bipower bi 中的第二个最小日期
【发布时间】:2021-10-30 15:15:01
【问题描述】:

我有一些用户的游戏 ID 不同。

对于每个用户,我想找到第二个最小日期。 (列:min2_date) 如果用户没有第二个日期(在此示例中查看 user_id: 2),则他的 min2_date 应为 -1。 如果第二个最小日期与第一个最小日期相同(查看 user_id: 4),我们应该将该日期写入 min2_date 列。

我不知道我应该如何计算 Power BI 中的第二个最小日期。 如果你知道,请帮助我。

【问题讨论】:

    标签: date powerbi dax powerquery datediff


    【解决方案1】:

    因为你不想要一个真正的第二个最小日期(但日期在第二行按顺序),我们必须尝试一些技巧。 我们可以这样做的一种方法是:

    MinDate2 = 
    var _countrows = CALCULATE(countrows(VALUES(games[dates])), ALL(games[dates]) )
    return
    if(_countrows = 1, -1, 
    FORMAT(DISTINCT(TOPN(1,TOPN(2,CALCULATETABLE(SELECTCOLUMNS(games, "dates",games[dates]), ALL(games[dates])),[dates], asc), [dates], desc)), "yyyy-mm-dd")
    )
    

    其中 MinDate 和 MinDate2 是度量值。

    作为计算列:

    MinDate2_col = 
    var _countrows = CALCULATE(countrows(VALUES(games[dates])), ALL(games[dates]) )
    return
    if(_countrows = 1, "-1", 
    FORMAT(DISTINCT(TOPN(1,TOPN(2,CALCULATETABLE(SELECTCOLUMNS(games, "dates",games[dates]), ALL(games[dates])),[dates], asc), [dates], desc)), "yyyy-mm-dd")
    )
    

    【讨论】:

    • 谢谢,@msta42a 但这是一个衡量标准。我不想要一个度量,我想要将 MinDate2 作为一列。对于每个 game_id,我都需要它。
    • 检查更新;如果您希望将此作为列,则更改 if 中的参数(由于类型不同,并且计算列中不允许使用 variant),如果您想要日期类型,则将“-1”替换为 BLANK()
    • 我在新帖子中更改了我的问题。我应该从这里删除这个问题。您可以使用此链接查看我编辑的问题:b2n.ir/j35309 如果您知道答案,请帮助我。
    猜你喜欢
    • 1970-01-01
    • 2022-08-10
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 2023-01-12
    • 1970-01-01
    • 2020-08-16
    • 1970-01-01
    相关资源
    最近更新 更多