以DAX计算参考日期

时间:2019-03-04 22:27:45

标签: date dax

试图确定一个非常简单的问题的语法。

我有一个名为Events的表和一个具有DATES字段之间的关系的全功能Dates[Date]表。

使用event name作为切片器,我试图创建一个[First Monday]度量,该度量将返回该月的第一个星期一的日期。

例如,如果我的活动日期是 2/14/19 ,则[First Monday]将返回 2/4/19

1 个答案:

答案 0 :(得分:0)

您的日期表需要包含2列:

  • 年月:例如,“ 2018-01”

  • 工作日编号:例如1(代表星期一);或工作日名称(即“星期一”)

然后:

First Monday = 
  CALCULATE( MIN('Date'[Date]),
             ALL('Date'),
             VALUES('Date'[Year-Month]),
            'Date'[Weekday Name] = "Monday")

工作原理:

首先,我们需要访问日期表中的所有日期,因此我们使用ALL()

第二,我们只需要查看当前上下文年和月的日期,就可以使用VALUES()

第三,每个月我们只需要星期一,因此Date [Weekday] =“ Monday”

所有这些取消过滤/过滤操作都会为在当前过滤器上下文中可见的Year-Month生成一组星期一。我们现在要做的就是使用Min(Date)查找星期一中最早的星期一。