[分享] 求阶段的最后一个日期值

  [复制链接]
查看212695 | 回复167 | 2021-2-19 02:01:20 | 显示全部楼层 |阅读模式
周期内的最后一天,按照常理,比如说每个月的最后一天,我们都可以很快说出来,但是在实际工作中,有的最后一天的日期并不是我们自然月或者是自然年指的月底或年底的最后一天的日期,比如说最后一个工作日的交易,那就不一定是月底最后一天了,所以求周期内(月、季度、年份)在某些场景下还是有意义的,今天就介绍如何求这三个周期的最后一天的日期值。
回复

使用道具 举报

liulangren | 2021-2-19 02:08:20 | 显示全部楼层
1、数据准备
和以往一样,我们先准备一组数据,因为要求日期,因此我们先准备一组顺序的日期列表,如下图所示:
144744hqszer5c2q9qoqtz.png
回复

使用道具 举报

橙色 | 2021-2-19 02:11:20 | 显示全部楼层
2、导入模型
将数据列表导入到Power Pivot 数据模型中,在这里就不再赘述了,只要单击【添加到数据模型】按钮就可以比较方便地导入,如下图所示:
144822iokl7gsowz1zojlg.png
导入后的结果如下图所示:
144823zbepppbg83ba1n8e.png
回复

使用道具 举报

liruotong | 2021-2-19 02:16:21 | 显示全部楼层
3、添加度量值
我们今天介绍的一组函数,为ENDOF* 函数,包括三个函数,分别是:
    ENDOFMONTH 函数:返回当前上下文中指定日期列的相对应月份的最后日期。ENDOFQUARTER 函数:返回当前上下文中指定日期列的相对应季度的最后日期。ENDOFYEAR 函数:返回当前上下文中指定日期列的相对应年份的最后日期。



通过这组三个函数就可以获取三个周期的最后一天的日期,他们都是以ENDOF开头,也就是说这三个函数都是要求XX的最后,即ENDOF的意思,下面我们就针对这三个函数具体用到实例中,看看得到的结果是怎么样的。

1、添加月度最后一天日期的度量值:
输入:月份最后一个日期:=ENDOFMONTH('表1'[日期])
如下图所示:
144921sgrhrnhrhhmplnwf.png

2、添加季度最后一天日期的度量值:
输入:季度最后一个日期:=ENDOFQUARTER('表1'[日期])
如下图所示:
144922l4678k8aipohcg4c.png

3、添加年度最后一天日期的度量值:
输入:年度最后一个日期:=ENDOFYEAR('表1'[日期])
如下图所示:
144924avv8n3awx3fvy3db.png
回复

使用道具 举报

信息量 | 2021-2-19 02:22:21 | 显示全部楼层
4、透视表显示结果
将结果返回到透视表做展示,只要单击【主页】选项卡上的【数据透视表】按钮,如下图所示:
145116k3ysbjzjr1jj1hsr.png
设置好存放透视表的位置,如下图所示:
145032oxzwxtxkwqxn5rxb.png
做好的透视表在字段列表中就出现刚才设置的三个度量值,如下图所示:
145034byjymmejm98pbpmb.png
将日期拖拽到【行】区域,将三个度量值拖拽到【值】区域,结果如下图所示:
145036zj7kjf7kwjjg553r.png
上表中的日期后面有时间,我们可以通过调整格式来做调整,操作方法如下:返回到Power Pivot 工作平台,在【格式】下拉菜单中选择【更多格式】,如下图所示:
145038gkvxncxlcionzlnc.png
在弹出的【格式设置】对话框中,在左侧的列表框选额【日期】,右侧设置日期的格式,如下图所示:
145039u531yefo5oo5zyix.png
设置完毕后,就可以看到透视表的格式也做了相应的变化,如下图所示:
145040qbws63dkz9an3ikd.png

回复

使用道具 举报

koala | 2021-2-19 02:30:21 | 显示全部楼层
5、结果解读
我们先看一下列表中,日期2017年的3月份,因为是连续数据,所以有3月30和31日,所以我们这个计算出来的数据,用ENDOFMONTH 函数计算月份的最后一天的日期,那2017年3月份应该就是2017-3-31,依次类推,可以计算季度和年度的最后一天日期,效果如下图所示:
145221n6yy55218d52zyye.png
现在我们将2017年3月份的31号修改为30号,刷新透视表后,我们发现月度和年度最后一天的日期自动调整为30号,即验证了我们这两个函数返回的是周期内最后一天,并非自然月或者是自然季度的最后一天的日期,效果如下图所示:
145222knz56hhwvn7nv67v.png
回复

使用道具 举报

wzfwzf | 2021-2-19 02:33:21 | 显示全部楼层
通过计算最后一天的日期,再结合day函数,我们可以看到周期内一共实际发生额的天数。
回复

使用道具 举报

sunwww | 2021-2-19 02:37:22 | 显示全部楼层
谢谢分享!
回复

使用道具 举报

泥公仔 | 2021-8-2 20:07:54 | 显示全部楼层
这么强,支持楼主,佩服
回复

使用道具 举报

采采 | 2021-8-3 21:48:00 来自手机 | 显示全部楼层
小白一个 顶一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则