如何利用Power Query实现错位行的标题提升?

2020-03-24 15:40:33 浏览数 (1)

原始表格

调整后表格

也就是从第3列开始到第5列,我们需要把第一行的数据提升为标题行。

我们看下思路:

1.我们需要把表格转成列,然后在操作需要变动的列达到和正常列一样,随后在合并再一起组成新的表格即可。

如果直接把表格转为列,则会失去原有的标题,所以需要进行一次标题下降。

2.通过Table.ToColumns把每一列组成1个list并合并成一个list

一共5列,也就5个list,但是后面几个list我们需要把第一列标题去掉。

3. 我们先区分不需要处理的列和需要处理的列。通过List.Range来选择。

代码语言:javascript复制
List.Range(Table.ToColumns(降级后的表),2,3)

4.把需要处理的列里,通过List.Skip跳过第一个数据。

因为里面涉及列中套列,所以使用List.Skip的话是针对需要处理列里面的明细列进行。这里会用到List{}的方式进行定位,通过List.Transform来进行循环。因为这里是循环3次,而且是从0开始,也就是0-2定位列表里的内容。

代码语言:javascript复制
List.Transform({0..2}, each List.Skip(需去除标题的列{_},1))

这样就得到我们所需要的列表内容了。

5.然后把不需要处理的列和处理完的列进行合并并转成表格,基本上就得到我们所需要的了,最后在做一次标题提升就可以了。

我们为了以后方便,可以把这个步骤做成自定义函数,这样就能直接在下次碰到的时候直接使用。

其中错行是我们自定义的函数名称 我们看下函数说明

如果觉得不错,请点赞转发下。

请点个赞,转发分享给更多的人。

0 人点赞