Power BI日常小技巧

各位好,今天我们来介绍一下两个小技巧:快速获取日期中的年、季、月、日以及Time Passed的计算。已经知道的小伙伴顺便复习一下,初次接触的小伙伴赶紧掏出小本本记一下吧~

Part.1

快速获取日期中的年、季、月、日

在数据分析中,我们经常要从时间的纬度展现数据,所以需要生成一张日期维度表。如果你是用DAX函数生成日期表的话,你可能会这样做:

首先用Calendar函数生成一列日期列:
=CALENDAR("1/1/2018","12/31/2019")
然后再用Year函数生成年
= YEAR([Date])

生成季度及月份也同理。
但是大家有没有发现在引用【日期】列时,公式提示会出现如下的“.[Date]”、“.[MonthNo]”等?这是干嘛的呢?

file

其实试一下很快就能发现,这是获取某个日期对应的日期、月份编号、季度编号、季度名称、年、日、月份的快捷方式。比如我们试一下“.[月份]“:

file

是不是很方便快捷呢?当然,此“快捷方式“除了可以用在计算列,还可以用于度量值中来简化公式。

Part.2

计算Time Passed

在商业分析中,经常涉及到达成率这一指标,例如本月截至目前,销售量已经达到了本月目标值的百分之多少。而达成率会和Time Passed放到一起对比,以此来看达成进度。

Time Passed为到今天为止,本月或本年已经过去百分之几。如果达成率大于Time Passed,则表示达成进度很乐观,否则表示达成进度偏慢。那么TimePassed 应该怎么计算呢?

首先来看下月度的Time Passed,其实就是计算到今天为止,已经过了本月的百分之几。我们需要用本月已经过去的天数除以本月总共的天数。很简单,今天的日期中取出日即为本月已经过去的天数,本月最后一天的日期中取出日即为本月总共的天数。

那么怎么获取本月最后一天的日期呢?
可以用EOMONTH这个函数,该函数返回开始日期推移指定月份数之后的当月的最后一天。所以公式如下:

MTD Time Passed=
DIVIDE(DAY(TODAY()),day(EOMONTH(TODAY(),0)))

那么年度的Time Passed怎么算呢?这个也很简单,我们可以用YEARFRAC函数,该函数返回两个日期之间的完整天数占全年天数的比例(返回值为小数)。所以公式如下:

YTD Time Passed= 
YEARFRAC(DATE(YEAR(TODAY()),1,1),TODAY(),1)

好了,今天的分享就到这儿啦,有什么疑问文下留言鸭!

file



* PowerPivot工坊原创文章,转载请注明出处!


如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。


长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~

Power Pivot工坊