【问题标题】:Date Diff Calculating Incorrectly When Refreshed On Sunday周日刷新时日期差异计算不正确
【发布时间】:2022-08-14 16:35:11
【问题描述】:

我在日历日期表中添加了一个列,用于计算日历“从今天开始的周数”,请参阅下面的 DAX:

Weeks From Today 2 =
VAR Offset =
    WEEKDAY ( \'Calendar_Table\'[Date], 2 )
RETURN
    INT ( TODAY () - ( \'Calendar_Table\'[Date] - Offset ) ) / 7

注意 - 使用偏移量来实现周一至周日周

我使用它来过滤某些日历周的报告,即当前或前一周。

周日问题 在一周内,该字段可以正常工作,例如在 8 月 12 日创建此帖子的日期,当该字段被过滤到从今天开始的周 = 0(即当前周)时。它将返回 8 月 8 日星期一至 8 月 14 日之间的所有日期。

Peppearson_1-1660308920704.png 未找到!

但是,当我在周日刷新报告时,此过滤器会返回下周(不是当前日历周)的日期。

我的报告目前只在周日刷新,所以我的解决方法是将今天过滤器的所有相关周设置为 1 而不是 0,以便它们返回正确的日期。

有什么想法可能导致周日出现此问题吗?

  • 一周的第一天是哪一天 - 星期一?
  • 是的,每周的第一天是星期一。所以今天我刷新了我的数据集,它现在显示的是今天,这应该被视为当前日历周的一部分,从今天开始是“1”周而不是 0(考虑到它是星期天。
  • 请检查答案。很高兴收到您的反馈。

标签: powerbi dax datediff


【解决方案1】:

让我们看一下公式:

TODAY()=14 aug 2022
'Calendar_Table'[Date]=14 aug 2022
WEEKDAY ( 'Calendar_Table'[Date], 2 )=7

所以,返回部分是:

(14 aug 2022 -(14 aug 2022 -7))/7 => 7/7 = 1

对于其他日期,它可以工作,因为 INT() 将表达式向下舍入为 0。但周日 INT() 不会影响结果。

要解决此问题,只需从您的度量中删除偏移量。因此,请检查以下内容:

INT(TODAY () - [Date]) / 7

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-24
    相关资源
    最近更新 更多