7.10 PowerBI系列之DAX函数专题-动态指定某个日期区间进行分析

需求

按照指定期间进行报表分析,如下图
在这里插入图片描述

实现

度量值 开始日期 = min('日期表'[date]) --firstdate('日期表'[date]) //获取到当前上下文的最小日期
度量值 结束日期 =  max('日期表'[date]) --lastdate('日期表'[date]) //获取到当前上下文的最大日期
//max,min返回的是一个值,时间智能函数返回的是一个表
度量值 间隔天数 = datediff('日期表'[开始日期],'日期表'[结束日期],day)
度量值  一年前开始日期 = 
VAR SAMEDAYLY = min(DATEADD(firstdate('日期表'[date]), -1, year)) 
//把选中期间的最小日期以表的形式传入dateadd,返回一年前的开始日期
					
'日期表'[开始日期 ]-
					countrows(filter(
									all('日期表'),
									'日期表'[date]<min('日期表'[date]) &&'日期表'[date]>=SAMEDAYLY
									)
							)
度量值 一年前结束日期 ='日期表' [一年前开始日期] +'日期表'[间隔天数]
去年同期销售额 = calculate(sum(''订单表[销售额]),
											datesbetween('日期表'[date],
																	'日期表'[一年前开始日期],
																	'日期表'[一年前结束日期])
											)

datesbetween

DATESBETWEEN(<Dates>, <StartDate>, <EndDate>)

Returns a table that contains a column of dates that begins with a specified start date and continues until a specified end date.

This function is suited to pass as a filter to the CALCULATE function. Use it to filter an expression by a custom date range.
在这里插入图片描述

datedif

DATEDIFF(<Date1>, <Date2>, <Interval>)  

Returns the number of interval boundaries between two dates.
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值