【发布时间】:2020-12-02 07:54:36
【问题描述】:
我需要如下日期函数。
所选特定日期的上个月和上周的同一天。
示例 上周第 4 天 = 今天 2020-12-02 返回 2020-11-25
上个月的同一天 = 今天 2020-12-02 返回 2020-11-04
你能举个例子吗?
【问题讨论】:
我需要如下日期函数。
所选特定日期的上个月和上周的同一天。
示例 上周第 4 天 = 今天 2020-12-02 返回 2020-11-25
上个月的同一天 = 今天 2020-12-02 返回 2020-11-04
你能举个例子吗?
【问题讨论】:
上周的同一天,这很容易。由于 DATE 保存为表示自 1899 年 12 月 30 日以来经过的天数的整数,因此从当前日期减去 7 就足够了。
Same Week Day Last Week =
VAR CurrentDay = MAX('Date'[Date])
RETURN CurrentDay - 7
上个月同一天的度量缺乏精确的定义。
不可能将周映射到月,因此存在基于周的日历。
这是一个 DAX 度量,它试图将大部分时间保持在一个月内
Same Week Day last month =
VAR CurrentDay =
MAX ( 'Date'[Date] )
VAR WeekDaysDelta =
WEEKDAY ( EOMONTH ( CurrentDay, -1 ) ) - WEEKDAY ( EOMONTH ( CurrentDay, -2 ) )
VAR DaysAdjust =
IF (
WeekDaysDelta > 3,
WeekDaysDelta - 7,
IF ( WeekDaysDelta < -3, WeekDaysDelta + 7, WeekDaysDelta )
)
VAR SameWeekDay =
EOMONTH ( CurrentDay, -2 ) + DAY ( CurrentDay ) + DaysAdjust
RETURN
SameWeekDay
有一个ISO week date 标准定义了基于周的日历。
这是一篇关于在 DAX 中使用周数的文章的链接
【讨论】: