如何根据目标表格式进行整理数据?

2020-03-24 15:54:47 浏览数 (1)

最近因为有在准备替拉美最大电商平台Mercadolibre在国内招商,所以需要把商家提交的资料进行整理,达到给国外要求的目标格式。因为渠道来源有多种多样,怎么快速统一并汇总是个问题,这就产生了本次案例的需求来源。

(一) 目的

通过收集表的资料汇总到目标表,保持目标表的格式(包括列名及列名顺序)

(二) 资料条件

  • 收集表的列数和目标表不一致
  • 收集表的列名和目标表不一致

收集表

目标表格式

最终效果

(三) 操作步骤:

1. 统一标题

通过对应的替换关系进行一一替换

A. 建立标题对应表
B. 批量替换标题
代码语言:javascript复制
Table.RenameColumns(源,
                    List.Transform({{0..Table.RowCount(替换列表)-1},
                    each List.Combine({{替换列表[原列]{_}},
                                       {替换列表[替换列]{_}}
                                      })
                                  )
                    )
这个在之前的文章里我们有分享过批量内容替换。
如何在Power Query中批量修改标题?

2. 调整列数

因为列名及列数需要保持和目标表格式一致,所以这里需要增加未显示的列以及去除不在目标表格式里的列。

A. 去除非目标表列
代码语言:javascript复制
Table.RemoveColumns(自定义1,
                      List.Difference(Table.ColumnNames(自定义1),
                                      Table.ColumnNames(目标表)
                                     )
                     )
B. 增加缺失列
代码语言:javascript复制
批量加列(自定义2,
        List.Difference(Table.ColumnNames(目标表),
                        Table.ColumnNames(自定义2)
                       ),
        each null
       )

最后通过自定义函数批量增加列。可以查看之前的案例。

如何使用Power BI对2019互联网趋势报告进行进一步的分析?——人口预测篇

3. 整理列的排序

代码语言:javascript复制
Table.ReorderColumns(自定义3,Table.ColumnNames(目标表))

这样我们就可以对资料进行快速的整理,而且在函数中基本用的都是变量,所以我们后期主要要做的就是列名的对应整理即可。

bi

0 人点赞