前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >取假日后的第一个工作日,典型的函数嵌套案例!| PQ必练技能

取假日后的第一个工作日,典型的函数嵌套案例!| PQ必练技能

作者头像
大海Power
发布2024-05-29 14:55:57
1070
发布2024-05-29 14:55:57
举报

导语:PQ中最关键也是最难的知识点,就是关于each _和类(x)变量的理解和应用,没有之一。而这,需要经过大量案例反复练习和体会,本文案例相对简单且典型,非常适合练手。

【文末留言赠书】

问题很简单:对有标注是否上班的日期表新建一列,提取假期(是否上班为0)后的第一个工作日(是否上班为1)。

比如,1月1日和1月2日均为假期,它后面的第一个工作日为1月3日,所以1月1日和1月2日后面都填1月3日。

在Power Query中解决这个问题也不复杂。将数据加载到PQ后,添加自定义列:

这个公式的核心思路是:对整个表(这里基于上一步骤“更改的类型”的结果)筛选(Table.SelectRows)出“日期”(更改的类型步骤里的日期)大于“当前行日期”,且“是否上班”为1的内容并取“日期”列结果,然后通过List.First函数取其中第1个日期。

代码语言:javascript
复制
if [是否上班]= 0 
then List.First(
        Table.SelectRows(
           更改的类型,
           (x)=>x[日期]>=[日期] and x[是否上班]=1
        )[日期]
     ) 
else null

其中最难的点在于:存在函数嵌套的情况下,如何区分不同层级里名称相同的列的内容?

关于这个问题,前期的文章《为啥只有each,没有_?还有冲突? | PQ重难点突破》里有详细论述,建议不太熟练的朋友,多仔细看并动手练习,再加上本文的案例进行巩固。

函数的嵌套以及each _、(x)=>的用法,是Power Query里最难也是最重要的知识点,没有之一!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档