日常销售报表,时间是非常重要的维度。前一文,我说明了如何不用公式,实现日期自动转换为年、季度、月、周等形式(点击文末阅读原文查看),以便进行业务分析。
但有时,业务逻辑比较复杂,或者数据源不规范,仅凭点击鼠标无法满足对时间维度的分析需求,需要我们用点公式。下面介绍在零售业界常用的几种日期公式使用形态。
(注:此处操作以Power BI Desktop为例,在Excel当中的操作步骤相同)
一、不借助外界数据源,新建完整的日期列表
有时,我们需要这样一张完整的全年日期明细表,方便与业务数据结合。我们可以使用Excel新建一个日期工作簿,然后导入Power BI或者Excel 模型;我们也可以使用以下公式,不借助外部数据源快速建立:
List.Dates(#date(2018,1,1),365,#duration(1,0,0,0))
本例中,List.Dates有三个参数,第一个参数为起始日期,第二个参数为显示多少个日期,第三个参数为日期间隔。此处,我们显示2018年全年的日期。
然后,我们借助Query的添加列功能,快速添加相应的日期维度,从而得到最上方的表格。
二、依据当前时间进行日期动态变化
我们每天需跟踪截止昨天的销售数据,昨天是个相对的位置。4月25日的昨天时4月24日,4月24日的昨天是4月23日。如何脱离手工,当前日期动态变化?
DateTime.Date(DateTime.LocalNow())
通过以上公式,我们可以快速生成当前日期,在Power BI中可以通过建立卡片图的方式告知用户数据截取时间,还可以与其他数据进行关联以便下一步建模及图表展现。当然如果你仅仅需要在Excel工作簿展现当前日期用today函数就好。
三、销售数据要截止到上个月月底怎么办?
每个月月初,我们要回顾上个月的销售数据,数据截止月底最后一天。如果数据中有完整的日期列,我们可以直接点击鼠标找到最后一天。
但有时候,数据源不会这么规整,或者我们需要更灵活的使用,结合第二步产生的当前日期可以试试。
已知在第二步我们用公式产生了当前日期,4月25日。想判断上个月最后一天是几号,我们先判断上个月是哪月:
用Date,AddMonths倒推上个月
接下来判断最后一天是哪天
Date.EndOfMonth判断当月最后一天
以上,我们即完成了上月最后一天的提取,以上过程本文进行了分拆,实际可嵌套使用一步完成。
更为复杂的情况是,数据源不规范,我们需要如下提取上个月和上上月的最后一天,进行环比对比。
可以借助If语句将以上提到的公式嵌套进行实现:
日期相关的M语句当然是非常多了,我介绍了几个零售业内常用的,业内同仁可以尝试下。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有