怎么直接对未展开的数据表进行筛选操作?含函数嵌套使用的易错点。

2021-08-30 15:53:14 浏览数 (1)

小勤:Power Query里,怎么对表中表的数据进行筛选啊?

大海:你想怎么筛选?

小勤:比如说我只要下面每个表里单价大于10的部分:

大海:这么标准的数据和需求,直接展开再筛选就是了啊。那样还不用写公式。

小勤:能在不展开数据表的情况下筛选吗?因为有时候筛选不会这么简单的啊。

大海:当然是可以的。因为你可以通过表(Table)相关的函数分别针对每一个表进行,比如筛选行可以用Table.SelectRows,筛选列可以用Table.SelectColumns……可以非常灵活地组合使用。

小勤:可是我用Table.SelectRows怎么出错了?

大海:这样当然会出错啊。你在外面这个表里哪里有“数量”这一列?

小勤:外面这个表?Table.SelectRows不是引用了“订单明细”那一列里的每个表吗?

大海:嗯。所以,你想一下,如果你的外面大表里也有一列叫“单价”的,那,你说这个公式里的这个单价,指的是谁呢?比如这样:

小勤:这个的确有点儿乱。那改怎么改呢?

大海:在“[数量]”前面加上each,它就表示引用的是当前函数引用的表里面的,所以公式改为:

小勤:原来这样。怪不得怎么写都写不对。

大海:关于each以及函数嵌套参数的用法的确是Power Query进阶的一个比较难理解的点,后面可能需要结合更多例子来训练。

小勤:好的。我先理解一下这个。

0 人点赞