怎么只读取文件夹中最近一天的表格?PQ里这个筛选真方便!

2021-08-31 11:07:48 浏览数 (1)

前期,我写了较多关于用PQ进行数据汇总的文章,形成了一个系列:

《年终必用!批量汇总多Excel表:从入门到处理各种特殊情况》。

另还录制了系列视频进行免费发布:

《【免费系列视频】Excel数据汇总特辑 | 多个案例,多种情况,举一反三!》

但是,即使案例再多,也仅能作为参考,最关键的还是要自己把基础知识掌握并熟练运用,这样,再多的情况,都可以自己按需处理了——基础和思路是最重要的

今天,再讲个最近有朋友问到的例子,即:

汇总文件夹数据的时候,怎么能只读取文件夹中最近一天的表格(文件)?

实际上,我们如果在用Power Query汇总文件夹数据的时候,仔细观察从文件夹读出来的相关信息,就可以发现,在文件列表中,存在文件对应的创建时间、修改时间和访问时间,如下图所示:

那么,有了这些信息,我们就可以筛选出文件夹中最近一天的数据来——但是,怎么筛选呢?“最近一天”不一定是昨天……

实际上,这个在Power Query里非常简单,因为针对日期/时间的筛选,PQ提供了多种筛选方式,大家点开列的筛选按钮即可查看。我们要选择最近一天的,即可以选择“最晚”选项,如下图所示:

从简单解决问题的角度,上面的筛选非常简单,但是,从学习的角度来说,我建议再仔细观察一下Power Query对这个“最晚”选择的实现方法,我们可以查看一下生成的步骤公式:

这里显然仍然是用Table.SelectRows对表进行筛选,条件里面,则先用List.Max函数取出最大日期,然后去判断(选择)列里等于最大值数据。当然,你可以对这个公式进行一定的简化,比如改成这样:

即将List.Max所取得的最大值直接用作筛选条件,不需要经过先设定变量然后引用的过程。

为什么可以这样?为什么List.Max里取的是“源”步骤里的数据?——欢迎留言说说您的理解。

0 人点赞