办公室坐了一天,感觉肚子上的脂肪又厚实了一点,可是一到饭点还是控制不住我记几。
像宗琪这种有肥胖基因的孩纸就不要想着瘦下来了,毕竟吃了这么多年土也没变瘦!
好了不讨论了,言归正传,今天我们来研究研究一个时间智能函数的家族。
家族成员有:
CLOSINGBALANCEMONTH,
CLOSINGBALANCEQUARTER,
CLOSINGBALANCEYEAR
以CLOSINGBALANCEMONTH函数为例,
月末函数语法:
CLOSINGBALANCEMONTH(,[,])
(引自https://msdn.microsoft.com/zh-cn/library/ee634215.aspx)
该函数计算当前上下文中该月最后一个日期计算的表达式,下面我们拟一组数据来体会一下该函数的作用机制。
首先日期列:
Date = CALENDAR(DATE(2016,1,1),DATE(2017,11,15))
时间跨度有两年而且2017年的时间不是全年,这样有利于我们的实验。
数据列:Data = RAND( ),生成一列随机数,
之后再根据日期列新建辅助列年、季度、月、日:
Year = YEAR('表'[Date]) ;##提取日期中的年
Month = MONTH('表'[Date]) ;##提取日期中的月
Quarter = ROUNDUP([Month]/3,0) ;##提取日期中的季度
Day = DAY('表'[Date])。##提取日期中的天
这样拟出的数据如下图:
然后我们写如下三个度量值:
月末 =CLOSINGBALANCEMONTH(SUM('表'[Data]),'表'[Date])
年末 = CLOSINGBALANCEYEAR(SUM('表'[Data]),'表'[Date])
季度末 = CLOSINGBALANCEQUARTER(SUM('表'[Data]),'表'[Date])
然后我们用这三个度量值和相关日期列做如下卡片图和堆积图:
可以发现没有筛选上下文约束时,左侧三个卡片图展示的均为2017年已有数据中最后一天的数据,表明这三个函数默认展示最新一年的数据。
下面我们进行下钻—点开下钻按钮,
点击2017年数据条,如图:
在季度筛选条件下我们发现,
只有第四季度的有年末的值,
其他季度均没有年末值,
继续下钻,点击第四季度数据条,如图:
因为我们只设置日期到11月15号,
所以年末值、季度末值均在11月,
然后我们继续下钻,点击11月对应数据条,如图:
横轴日期为11月15号,由此我们得出:
在没有任何筛选上下文的条件下,三个函数得到的结果均为日期列中最后一天对应的数据,选定一年时,如果该年日期是全的,那么取该年最后一天作为年末,如果不全则取数据中日期列最后一天作为年末,季度末、月末函数同理。
今天的分享就到这里啦,有什么问题记得留言呦~
*Power Pivot工坊原创文章,转载请注明出处。
领取专属 10元无门槛券
私享最新 技术干货