DAX 中的 IsoWeekYear
IsoWeekYear within DAX
有没有办法在 DAX 中创建 IsoWeekYear?
我在 excel 中使用以下内容来创建,但是我很难在 PowerBI
中使用它
=YEAR(DATE(YEAR(TODAY()-WEEKDAY(TODAY()-1)+4),1,1)-MOD((DATE(YEAR(TODAY()-WEEKDAY(今天()-1)+4),1,1)-2),7)+(7*IF(MOD((日期(年(今天()-工作日(今天()-1)+ 4),1,1)-2),7)>3,1,0))+7)
您需要使用 DAX WEEKNUM 函数。它有一个用于 ISO 8601 周的可选参数。选项 21 将 return ISO 周
ISO Week Number = WEEKNUM([DateColumn], 21)
要获取 ISO 年,您还需要日历周和年列。
Calendar Week = WEEKNUM([DateColumn])
Year = YEAR([DateColumn])
Year Week = IF([ISO Week Number]<5 && [Calendar Week] > 50,
[Year]+1,
IF([ISO Week Number] >50 && [Calendar Week]<5,
[Year]-1,
[Year]))
您可以在一列中完成所有这些,而不是在此示例中将它们分开并连接,年和周数为 202101,或者将它们分开,以您需要的任何类型。
有没有办法在 DAX 中创建 IsoWeekYear?
我在 excel 中使用以下内容来创建,但是我很难在 PowerBI
中使用它=YEAR(DATE(YEAR(TODAY()-WEEKDAY(TODAY()-1)+4),1,1)-MOD((DATE(YEAR(TODAY()-WEEKDAY(今天()-1)+4),1,1)-2),7)+(7*IF(MOD((日期(年(今天()-工作日(今天()-1)+ 4),1,1)-2),7)>3,1,0))+7)
您需要使用 DAX WEEKNUM 函数。它有一个用于 ISO 8601 周的可选参数。选项 21 将 return ISO 周
ISO Week Number = WEEKNUM([DateColumn], 21)
要获取 ISO 年,您还需要日历周和年列。
Calendar Week = WEEKNUM([DateColumn])
Year = YEAR([DateColumn])
Year Week = IF([ISO Week Number]<5 && [Calendar Week] > 50,
[Year]+1,
IF([ISO Week Number] >50 && [Calendar Week]<5,
[Year]-1,
[Year]))
您可以在一列中完成所有这些,而不是在此示例中将它们分开并连接,年和周数为 202101,或者将它们分开,以您需要的任何类型。