Power BI 中的自定义周列以 StartofMonth 和 EndofMonth 中的条件开始

问题描述 投票:0回答:1

我正在尝试在 Dax 日历表中创建周列,但没有成功。

条件: 1.一周从周六开始,周五结束。 2.如果日期是从月初开始,那么一周应该以此开始,月末也是如此。

日期 说明
2024 年 1 月 1 日 24 年 1 月 1 日 - 24 年 1 月 5 日 一周从周一的第一天开始,周五结束
2024 年 1 月 2 日 24 年 1 月 1 日 - 24 年 1 月 5 日 一周从周一的第一天开始,周五结束
2024 年 1 月 3 日 24 年 1 月 1 日 - 24 年 1 月 5 日 一周从周一的第一天开始,周五结束
2024 年 1 月 4 日 24 年 1 月 1 日 - 24 年 1 月 5 日 一周从周一的第一天开始,周五结束
2024 年 1 月 5 日 24 年 1 月 1 日 - 24 年 1 月 5 日 一周从周一的第一天开始,周五结束
2024 年 1 月 6 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 7 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 8 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 9 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 10 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 11 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 12 日 24 年 1 月 6 日 - 24 年 1 月 12 日 一周从6号开始到12号结束
2024 年 1 月 13 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 14 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 15 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 16 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 17 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 18 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 19 日 24 年 1 月 13 日 - 24 年 1 月 19 日 一周从13号开始到19号结束
2024 年 1 月 20 日 2024年1月20日 - 2024年1月26日 一周从20号开始到26号结束
2024 年 1 月 21 日 2024年1月20日 - 2024年1月26日 一周从20号开始到26号结束
2024 年 1 月 22 日 2024年1月20日 - 2024年1月26日 一周从20号开始到26号结束
2024 年 1 月 23 日 2024 年 1 月 20 日 - 2024 年 1 月 26 日 一周从20号开始到26号结束
2024 年 1 月 24 日 2024 年 1 月 20 日 - 2024 年 1 月 26 日 一周从20号开始到26号结束
2024 年 1 月 25 日 2024 年 1 月 20 日 - 2024 年 1 月 26 日 一周从20号开始到26号结束
2024 年 1 月 26 日 2024 年 1 月 20 日 - 2024 年 1 月 26 日 一周从20号开始到26号结束
2024 年 1 月 27 日 24 年 1 月 27 日 - 24 年 1 月 31 日 一周从 27 日开始,到该月的最后一天,即 31 日结束
2024 年 1 月 28 日 24 年 1 月 27 日 - 24 年 1 月 31 日 一周从 27 日开始,到该月的最后一天,即 31 日结束
2024 年 1 月 29 日 24 年 1 月 27 日 - 24 年 1 月 31 日 一周从 27 日开始,到该月的最后一天,即 31 日结束
2024 年 1 月 30 日 24 年 1 月 27 日 - 24 年 1 月 31 日 一周从 27 日开始,到该月的最后一天,即 31 日结束
2024 年 1 月 31 日 24 年 1 月 27 日 - 24 年 1 月 31 日 一周从 27 日开始,到该月的最后一天,即 31 日结束
powerbi dax
1个回答
0
投票

尝试以下 DAX 计算列:

WEEK = 
  var mnthStart = EOMONTH([Date], -1) + 1
  var mnthEnd = EOMONTH([Date], 0)
  var doWk = WEEKDAY( [Date], 2)
  var prevSat = [Date] - doWk - IF(doWk < 6, 1, -6)
  var nextFri = prevSat + 6
  var wkStart = IF(prevSat < mnthStart, mnthStart, prevSat)
  var wkEnd = IF(nextFri > mnthEnd, mnthEnd, nextFri)
  var dateFormat = "d MMM'yy"
  return FORMAT(wkStart, dateFormat) & " - " & FORMAT(wkEnd, dateFormat) 
© www.soinside.com 2019 - 2024. All rights reserved.