postgres 把一个表的值转成另一个表的字段名_二维表转一维表,看这篇文章就够了...

数据分析的源数据应该是规范的,而规范的其中一个标准就是数据源应该是一维表,它会让之后的数据分析工作变得简单高效。

在之前的文章中,我也经常强调一维表的易用性,也时常有人问我,什么是一维表,为什么要转为一维表呢,这篇文章就来帮你梳理清楚并告诉你如何将二维表转化为一维表。

什么是一维表

在Excel中常见的是二维表,你可能天天都在用,

031485fd9728c61d3916ae81238df8f4.png

而一维表是长这样的:

98549139cbc5359db97ba4f07a3257dd.png

通过以上二维表和一维表的比较,你应该能分清楚什么是一维表、什么是二维表了,简单来说:

  • 一维表的每一列就是一个维度,列名就是该列值的共同属性
  • 一维表的每一行就是一条独立的记录

而这两点对于二维表,都不适合。

为什么要转为一维表

二维表更符合我们日常的阅读习惯,信息更浓缩,适合展示分析结果,但作为源数据进行数据分析时,就需要一维表。

一维表的每一列是一个独立的维度,列名或者字段名就是数据分析的基础,比如利用列名与其他表建立关系;编写DAX时直接使用列名;数据可视化时直接把字段拖入到某个属性框中等。

那么如何将二维表和一维表相互转换呢?

一维表变成二维表很简单,在Excel中都可以轻松做到,就是利用数据透视表,在PowerQuery中也有同样的透视功能,这里不再细说,下面主要介绍一下如何将二维表转换成一维表。

二维表转为一维表的方法

利用PowerQuery,二维表转为一维表十分方便,以Excel中常见的几种结构的表格为例,看看都是如何操作的。

第一种情形

简单的二维表,如本文的第一张图表,直接使用逆透视功能,就可以快速转为一维表,

cb7e7c3b738cf45624bc06a3b781a421.gif

可以选择需要透视的列进行“逆透视”,也可以选择不需要透视的列,然后点击“逆透视其他列”来完成。

提示:这些操作,生成的最终一维表的列名,需要自己手动更改一下,下同。

第二种情形

行标题带有层级结构的二维表,如下,

9615b53e14eb778c06377fa431b5a1be.png

这种结构很清晰,但做数据分析最让人头疼的就是合并单元格,不过在PowerQuery中处理也并不困难,只是多了一些步骤。

将上表导入到PowerQuery编辑器后,先把年度列向下填充,将年度数据补齐,然后再进行逆透视,

b095ee1ef5889d9663c30b7dfd63bac2.gif

第三种情形

列标题带有层级结构的二维表,如下,

54c7f29439508c623d53bed9d733cda9.png

这种表格可以先转置,转置以后,就是第二种情形,然后再进行逆透视就可以了,

9fdf5705f218dbfffbc807ce722f741e.gif

第四种情形

行标题和列标题均带有层次结构,如下图,

436582b198c4b00858588c6ac290c767.png

看起来更复杂是不是,其实同样是上述几个步骤灵活组合,

a. 将年度列向下填充,补齐数据

457af7802fc78493ec0d3e1259871b17.png

b. 将年度列和季度列合并,生成年度季度列,这种结构就变成第三种情形,

7578310d307bde52e8655d1270ccc582.png

c. 转置表、把第一列向下填充,并提升标题,就变成了很简单的结构,也就是第二种情形,

49e1ab38f50ec683541e27ab02f5853c.png

d. 选中前两列,逆透视其他列,就变成了一维表

ca291e018824e01593aff5a5607702d3.png

e. 为了和源数据维度一致,将年度季度列进行分列

f372c1e5f3deb9a898a11c521676e0bf.png

至此就得到了最终的一维表,看起来步骤很多,其实熟练掌握了也就分分钟的事。

总结

以上几种情形,基本包含了各种复杂结构的表格,如果有更复杂的表格,比如更多层级的行、列名,也同样可以按照以上的套路通过来分步完成:

1,将行层级先合并,转换成第三种情形

2,转置,变成第二种情形

3,逆透视

步骤中间熟练掌握填充、提升标题、分列等操作,关于转成一维表的问题,就没有什么表格能难倒你的了。

关于一维表的用处,不仅在PowerBI中,使用其他工具做数据分析时,同样需要这样的规范数据源。

下次再遇到二维表转一维表的问题,直接使用PowerQuery就行了。

如果你刚接触PowerBI,可以在微信公众号"PowerBI星球",回复"PowerBI",获取 《七天入门PowerBI》电子书.

看完别忘了点个赞哦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值