工坊实验室之CLOSINGBALANCE家族

办公室坐了一天,感觉肚子上的脂肪又厚实了一点,可是一到饭点还是控制不住我记几。

像宗琪这种有肥胖基因的孩纸就不要想着瘦下来了,毕竟吃了这么多年土也没变瘦!

好了不讨论了,言归正传,今天我们来研究研究一个时间智能函数的家族。

家族成员有:

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工坊原创文章,转载请注明出处。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180103G0JT8V00?refer=cp_1026

扫码关注云+社区