使用带有格式的 day() 公式时错误的一天 - PowerBI

Wrong day when using day()-formula with format - PowerBI

我试图从格式为 yyyy mm dd

的日期范围中找出工作日,即周一、周二、周三等

我试过使用公式format(day(Date Table),"ddd"),但是工作日是错误的。在我的示例中,2020.01.01 的输出给出了星期日,但应该是星期三。

我认为你的公式有误:

而不是

format(day(Date Table),"ddd")

使用

format(<Target Table>[<date column>],"ddd")

即省略 DAX DAY 调用。这导致月份中的第几天 (1..31) 被传递给格式函数。

当您在 DAX 中使用 DAY 函数时,它 returns 一个月中的第几天(1 到 31)。

因此 DAY ( DATE ( 2020, 1, 1) ) = 1 这意味着您正在尝试将数字 1 格式化为日期。当被视为日期时,整数被解释为自 1899/12/30 以来的天数,因此 1 对应于 1899/12/31,恰好是星期日。因此 FORMAT(1, "ddd") = "Sun".

没有理由让 DAY 参与进来。你可以简单地写

Day = FORMAT ( 'Calendar'[Date], "ddd" )