Power BI日常小技巧
各位好,今天我们来介绍一下两个小技巧:快速获取日期中的年、季、月、日以及Time Passed的计算。已经知道的小伙伴顺便复习一下,初次接触的小伙伴赶紧掏出小本本记一下吧~
Part.1
快速获取日期中的年、季、月、日
在数据分析中,我们经常要从时间的纬度展现数据,所以需要生成一张日期维度表。如果你是用DAX函数生成日期表的话,你可能会这样做:
首先用Calendar函数生成一列日期列:
=CALENDAR("1/1/2018","12/31/2019")
然后再用Year函数生成年
= YEAR([Date])
生成季度及月份也同理。
但是大家有没有发现在引用【日期】列时,公式提示会出现如下的“.[Date]”、“.[MonthNo]”等?这是干嘛的呢?
其实试一下很快就能发现,这是获取某个日期对应的日期、月份编号、季度编号、季度名称、年、日、月份的快捷方式。比如我们试一下“.[月份]“:
是不是很方便快捷呢?当然,此“快捷方式“除了可以用在计算列,还可以用于度量值中来简化公式。
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)
好了,今天的分享就到这儿啦,有什么疑问文下留言鸭!
* PowerPivot工坊原创文章,转载请注明出处!
如果您想深入学习微软Power BI,欢迎登录网易云课堂试听学习我们的“从Excel到Power BI数据分析可视化”系列课程。或者关注我们的公众号(PowerPivot工坊)后猛戳”在线学习”。
长按下方二维码关注“Power Pivot工坊”获取更多微软Power BI、PowerPivot相关文章、资讯,欢迎小伙伴儿们转发分享~
Power Pivot工坊
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)