问题描述
我试图从格式为 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) 传递给 format 函数。
,当您在 DAX 中使用 DAY 函数时,它返回一个月中的第几天(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" )