分享

你可能从来没用透视表干过这事!轻松搞定2020年休假月历!

 大海_Power 2021-05-22

     昨天,发布了文章《你可能从来没用透视表干过这件事,太有意思了!》,其中用透视表实现了月历的显示方式,并且提到,“月历型”报表的问题,众多朋友表示非常期待。


      甚至,有朋友提到,如果用月历型报表展示疫情的情况,应该会很赞:


      的确,在很多与时间相关的分析上,通过月历的方式进行展示,可能在一定程度上比较符合目前大多数人的工作或生活习惯,毕竟,大家都活在一周7天的模式中,很多计划的安排和节奏的把控可能都与月历的形式相关。


       那么,在讲相对复杂的月历型报表之前,我们先来做个简单的例子,即做一个按自己(公司)的休假安排的月历。

Step 01-准备数据

       为了方便,我们直接把休假的日期做到日期表里,即增加2列,分别标识哪一天是假期,具体是什么假(很多情况下,每个公司每个员工都有不同的休假时间,通常会单独构建一张表,然后跟日历表做关联——这种情况我们后面再讲),如下图所示:

Step 02-将数据导入PQ并进行初步处理并加载到PP数据模型

      将日期表的数据导入PQ,并在PQ中用换行符及横杠连接日、假期及备注等相关信息:

= Text.From([日])  & "#(lf)"  & Text.Combine({[假期], [备注]}, "-")

      为什么要在这一步进行这样的处理而不直接在后面的PP(DAX)里进行相应的处理?

       因为目前Excel里的PP还不支持UNICHAR函数(PBI是支持的),难以实现换行处理。

    处理完毕,将数据加载到Power Pivot数据模型:

Step 03-在PP中添加度量,并创建透视表

       在PP中创建度量,如下图所示:

      这里的MIN可以改为MAX等函数,或结合HASONEVALUE等函数来写,因为这里很简单,每天的值是固定的,所以简单用MIN即可。

Step 04-通过透视表生成休假月历

       前面准备好相应的日期表和度量后,即可在透视表中直接生成2020年休假月历表:

Step 05-设置透视表的分类汇总、总计项及报表布局方式

       跟我们前面做日历一样,分类汇总和总计行是没有意义的,所以进行禁用,并设置报表布局格式为表格形式,隐藏“周”列,如下图所示:

Step 06-设置换行及文本格式

       前面我们在PQ里做字符连接的时候,加上了换行符,但在实际创建透视表的时候,换行符没有起作用,这个问题跟我前面文章《如何将多项内容动态合并成一个单元格内换行显示?为什么上传到Excel却没有换行?》里的情况类似,解决方法一致,即选中透视表所有数据后,操作一次“自动换行”(同时设置一下文本居中)即可:

Step 07-添加条件格式

      用公式法设置条件格式,条件公式为:= FIND("假",D5),其中D5为选中透视表值区域时的活动单元格。

      这时,我们即完成了休假月历的基本制作,后面大家还可以尝试继续对格式进行调整,添加切片器等,做成自己喜欢的样子,比如我最后得到结果如下:

       五一又放5天哦!今年的假期实在有点儿多!

       您准备怎么过?记得别睡太多……

       同时,这里还有一个问题,留给大家解决:

       透视表的行高怎么固定?

       记得点赞,留言哦!

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多