首页 > 解决方案 > 在 DAX 中计算参考日期

问题描述

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

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

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

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

标签: datedax

解决方案


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

  • 年月:例如“2018-01”

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

然后:

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

这个怎么运作:

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

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

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

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


推荐阅读