ETL系列6--表结构设计6:二维表/交叉表转化为一维表工具与方法

二维数据表(也叫做交叉表)与一维数据表

首先说明一下什么是二维表,什么是一维表。

二维数据表,和一维数据表的一个明显区别就是,二维数据表的标题在行方向和列方向都有,而一维数据表的标题,只存在于行方向

二维转一维数据表的方法有很多,可以用插件、可以用数据透视表,也可以用VBA。

方法一:

一个交叉表转换宏工具

链接:https://pan.baidu.com/s/17S8KjmMGbOwqVPYU4M-5Cw

提取码:50dy

1. 将文件保存到本地的一个位置。


2.打开任意的excel表格,并按照如下的图片所示的步骤操作:

点击development(开发工具)add-ins浏览,然后找到刚刚文件的保存位置并选择文件(如果没有development选项卡请参阅最后的解决步骤)


再次点击add-ins,如果发现出现了同名的选项并且前面已勾选表示导入成功,如果未勾选但有同名选项则将其勾选上即可,如果没有同名的选项需要像步骤2一样再次导入。


3.点击File,选择options


选择quickaccess  bar –>下拉框里选择macro,点击选择将刚刚的同名macro文件加到右边并选择ok



4. 之后就可以在Excel中点击符号即可使用,选择对应的范围,表头的行列数和输出的位置即可


表头就是在行方向和列方向的标题列数

缺少development的解决方法:

1.选择file-optionis-customize ribbon将developer勾选上


2.在developer中选择macro security,之后选择enable all macros


3.文件需要处于编辑状态,而不是在被保护的视图中打开


方法二:

1- 选择【数据】选项卡,点击【新建查询】,选择【从文件】【从工作簿】,选择需要转换的文件。

2- 选择文件夹,点击【编辑】

3- 删除右边3个无用的数据列

4- 点击【Data】右边的按钮,展开所有的数据,点击【确定】

5- 点击【删除行】【删除最前面几行数据】,删除第1行的数据,

6- 点击【将第1行用作标题】

7- 按住shift选择第4列到最后1列,选择【转换】选项卡,点击【逆透视列】,把二维表,转换为以为表。

8- 选择【开始】选项卡,点击【关闭并上载】

这样我就把二维数据表,成功的转换成了一维数据表。

将二维表转化为一维数据表的好处很多,一维数据表可以通过数据透视表,SQL语句等种种方法得到其他任何我们所需要的格式的表,在灵活性和后续的数据处理上远远优于二维表。

在ETL中,只有转化为一维数据表结构类型时才可以进行后续的数据存储,因为数据库中的数据存储永远是结构化数据的结构。具体的数据结构将在后续文章中详细解释。

B C

你可能感兴趣的:(ETL系列6--表结构设计6:二维表/交叉表转化为一维表工具与方法)