之前在群里看到一个案例,是关于蛇形整理的,这里想分享下自己的解题思路。
原数据:
目标表:
(一) 分析数据:
数据源是由固定数据和内容数据组合而成。前面4行是固定数据列,后面的则为每2行为一组数据。
(二) 梳理操作原理
1. 固定数据:
可以通过批量添加列的方式进行最后的加上即可。
2. 内容数据:
- 每2行作为一组数据先进行拆分
- 把4个数据转变成4列数据
- 通过标题内容一致进行列合并
3. 整理数据
批量命名标题列,并批量添加上固定数据列
(三) 实际操作
1. 首先拆分固定的内容和数据内容
代码语言:javascript复制Table.FirstN(更改的类型, 4) //固定内容
代码语言:javascript复制Table.Skip(更改的类型,4) //数据内容
这里应该没什么太大难度,先把数据给做拆分以便后续能够方便操作。
2. 每2行组合一组数据
通过添加索引列的方式,并进行整除2,最后通过分组进行组合。
这里直接把表中的索引列给去了,只保留单个数据组的数据。
3. 处理明细数据组中的内容
通过逆透视全部列并转置就能达到多行多列数据全部转换成多列单行的数据。
处理完的数据直接展开即可,因为标题列名称都一样,所以会自动进行组合合并。
4. 批量更改数据内容列的标题
这里可以使用Table.FromColumns和Table.ToColumns函数的组合进行批量标题的更改。
代码语言:javascript复制Table.FromColumns(Table.ToColumns(#"展开的“自定义.1”"),
{"Size","Price",Type","ID"}
)
5. 批量添加固定数据列
最后调整列的排序即可。
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。