DATESBETWEEN函数
DATESBETWEEN函数隶属于“时间智能函数”,属于“表”函数。可以用作生成固定范围的日期,也可以用来作为限定条件来对聚合计算进行限制。
在业务需求中,有时候需要将数据与上一阶段的数据进行对比,注意,这里说的是一个阶段,不是一个点;还有一种情况是需要用一段时间的数据作为标准去比较。
这些情况都是需要DATESBETWEEN函数的,当然,还有其他办法,只不过DATESBETWEEN函数相对简单,可以作为过渡使用。
语法
代码语言:txt复制DAX=
DATESBETWEEN(<日期列>,<开始日期>,<结束日期>)
参数
日期列:对日期列的引用。
开始日期:可以是固定日期,也可以是日期表达式。
结束日期:可以是固定日期,也可以是日期表达式。
返回结果
一张表。
注意
1、如果开始日期是空白日期,那么会选取日期列的最早日期。
2、如果结束日期是空白日期,那么会选取日期列的最晚日期。
3、取值包含两端值。如果开始日期是9月1日,那么9月1日当天的值属于计算范围,而不是从9月2日开始计算。
例子
示例文件:
为了准确表达DATESBETWEEN函数的用法,白茶随机模拟了一份数据。
例子1:
代码语言:txt复制DATESBETWEEN函数例子1 =
DATESBETWEEN ( '例子'[日期], DATE ( 2019, 4, 1 ), DATE ( 2019, 6, 30 ) )
结果如下:
从这里能发现DATESBETWEEN函数与之前几期日期函数的区别。
日期函数会自动填充,将非连续的日期填充变得连续。
而DATESBETWEEN函数只考虑节点和事实。
就像上面这段代码,4月1日到6月30日连续的话有将近90个固定日期,但是实际事实表只有三个固定值,那么结果就是这个节点范围内的事实情况。
例子2:
代码语言:txt复制DATESBETWEEN函数例子2 =
VAR TP =
DATESBETWEEN ( '例子'[日期], DATE ( 2019, 5, 1 ), DATE ( 2019, 10, 1 ) )
RETURN
CALCULATE ( SUM ( '例子'[销售] ), TP ) / 5
这段代码是什么意思?求2019年5月1日到2019年10月1日之间的销售数据平均值作为标准去被比较。
放在折线图中对比,结果如下:
动态的观测一下:
可以看得出来,无论切片器如何调整,被比较的标准线都没有发生变化。
小伙伴们,GET了么?
白茶会不定期的分享一些函数卡片哦。
(文件在知识星球PowerBI丨需求圈)