NEXT系列函数
NEXT系列一共包含四个函数:NEXTDAY函数,NEXTMONTH函数,NEXTQUARTER函数,NEXTYEAR函数。分别代表次日、次月、次季度、次年。隶属于“表函数”。
无论是语法还是用途方面都是比较类似的,统一打包处理!
用途1:生成日期表。初始为次日/次月/次季度/次年。
用途2:计算相对应范围的数据值。
语法
语法1:
DAX=
NEXTDAY(<日期>)
语法2:
DAX=
NEXTMONTH(<日期>)
语法3:
DAX=
NEXTQUARTER(<日期>)
语法4:
DAX=
NEXTYEAR(<日期>,<结束日期>)
参数
日期:日期列。
结束日期:(可选项)只有NEXTYEAR有,别的没有,用来定义年份结束日期。
返回结果
单列日期表
例子
模拟数据:
某销售事实表,时间跨度为2017年1月1日至2018年12月31日。
例子1:
NEXTDAY例子1 =
NEXTDAY (
DATESBETWEEN ( '销售明细'[销售日期], DATE ( 2018, 1, 1 ), DATE ( 2018, 4, 30 ) )
)
结果:
结果根据上下文返回次日的单列日期。
例子2:
NEXTDAY例子2 =
CALCULATE ( SUM ( '销售明细'[销售数量] ), NEXTDAY ( '销售明细'[销售日期] ) )
结果:
根据当前上下文计算次日销售数量。
例子3:
NEXTMONTH例子1 =
NEXTMONTH (
DATESBETWEEN ( '销售明细'[销售日期], DATE ( 2018, 1, 1 ), DATE ( 2018, 4, 30 ) )
)
结果:
根据上下文,返回次月的所有日期列。
例子4:
NEXTMONTH例子2 =
CALCULATE ( SUM ( '销售明细'[销售数量] ), NEXTMONTH ( '销售明细'[销售日期] ) )
结果:
根据上下文,求得次月所有的销售数量。
例子5:
NEXTQUARTER例子1 =
NEXTQUARTER (
DATESBETWEEN ( '销售明细'[销售日期], DATE ( 2018, 1, 1 ), DATE ( 2018, 3, 31 ) )
)
结果:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tLdeep8s-1592979934426)(https://upload-images.jianshu.io/upload_images/19522947-7c3f970f07a0a62d?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]
根据上下文,返回次季度所有的日期列。
例子6:
NEXTQUARTER例子2 =
CALCULATE ( SUM ( '销售明细'[销售数量] ), NEXTQUARTER ( '销售明细'[销售日期] ) )
结果:
根据上下文,计算次季度的销售数量。
例子7:
NEXTYEAR例子1 =
NEXTYEAR (
DATESBETWEEN ( '销售明细'[销售日期], DATE ( 2017, 1, 1 ), DATE ( 2017, 3, 31 ) )
)
结果:
根据上下文,返回次年度所有日期列的表。
例子8:
NEXTYEAR例子2 =
CALCULATE ( SUM ( '销售明细'[销售数量] ), NEXTYEAR ( '销售明细'[销售日期] ) )
结果:
根据上下文,计算次年销售数量。
至此,所有例子列举完毕。
说一个注意点,基本上所有时间智能函数的主参数都需要是连续不间断的日期列,如果事实表的数据存在挂蛋现象,那么一定要生成连续的日期表,再使用时间智能,不然结果会报错。
小伙伴们❤GET了么?