多列数据归一化处理,不用写SQL,还能随数据增加一键刷新

小勤:大海,公司有个数据本来应该2列的,他们分成好多个2列并排着录了,后面数据统计可麻烦了,怎么转成规范的数据啊?

大海:以前这个问题很多大神喜欢用SQL来解,但写SQL有个问题,就是如果再加个2列,那就得改SQL了,现在的话建议用PowerQuery来解。

小勤:我也尝试了一下用PQ来解,但感觉搞不定呢。

大海:这个其实不难,但需要对PQ里的透视、逆透视和添加列等运用得比较熟练,我做一遍,你慢慢体会一下。

Step-1:获取数据(注意:因为标题名称重复,为避免PQ在相同的标题后加上数字,这里不要选择“表包含标题“,不理解的自己动手试一下选择”表包含标题“的情况对比一下)

Step-2:转置表

Step-3:添加索引列

Step-4:基于索引列添加“除(整数)”列

2表示对索引列除以2,得到的商(整数)部分。如:

  • 0除以2,得到商为0,余数为0,取商,即得到0;

  • 1除以2,得到商为0,余数为1,取商,即得到0;

  • 2除以2,得到商为1,余数为0,取商,即得到1;

  • 3除以2,得到商为1,余数为1,取商,即得到1;

  • ……

Step-5:删除索引列

Step-6:基于增加的“除(整数)“列,逆透视其他列

Step-7:基于型号数量列对值列以不聚合的方式进行透视

Step-8:删除不需要的列

Step-9:数据上载

小勤:为什么要加上那个“除(整数)“的列呢?

大海:这里每2列为一组,转置后,大家都用了同样的标题,为了能在后面的透视过程中区分不同的组,就只好再想办法加上一个特定的标志。

小勤:原来这样,感觉有点儿绕,我再练练加深一下理解。

大海:嗯,多练一下就好,这个操作好对加深透视和逆透视的理解也很有好处。

小勤:好的。


认清生活的真相后,

——依然热爱它。


(0)

相关推荐