欢迎光临散文网 会员登陆 & 注册

Excel之PowerQuery子表列转行

2022-08-31 16:20 作者:孙兴华zz  | 我要投稿

网友提问,如下一张表,想变成右边的样子

可以先对A列使用M函数填充,再分组转置,这样对新人友好,如下图

网友使用的是非新手方案,也就是我们课上讲的Table.Group第5参数

关于为什么这样写公式,详见PowerQuery合集 M函数 第一季第27集,附笔记截图

PowerBI合集第一季第27课笔记

1、导入数据

2、分组

3、知道到谁是子类的每一个Table,做转置

下划线就是每一个Table,每个Table中我们只需要子类这个列的表

我们可以先转置,就是对着下划线(代表每个表),加一个转置函数Table.Transpose

我们跳过第一行Table.Skip,得到新表

4、展开子类

5、发现问题

我们发现展开哪些列已经被固定,那将来在数据上有增减时,就会造成出错

其实这一步用的就是我们讲过的Table.ExpandTableColumn函数

网友bili 90381992465 提的问题非常好

我们来处理一下这个问题:

我们在做到这一步时,得到子类中的表,可能有3个表头,也可能有4个表头,或者更多或者更少,我们需要拿到所有的表的表头列表并去重

我们先取每张表的表头

再通过List.Combine合并成一个列表

去这个列表去重,最终代码如下:

6、解决问题

使用我们课上讲过的Table.ExpandTableColumn函数

PowerBI合集:https://www.bilibili.com/video/BV1oa4y1j75e

PowerBI答网友问合集:https://www.bilibili.com/video/BV1yM4y1T7oP

Excel之PowerQuery子表列转行的评论 (共 条)

分享到微博请遵守国家法律