ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3139|回复: 2

[原创] 一维表、二维表那些事

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-6-2 22:33 | 显示全部楼层 |阅读模式
上次带大家见识了几个制表时最常见的误区,提出了四条规则
要想通过一次讨论就把所有误区都说清楚也不现实,有些坑还是要自己踩自己跌自己爬,挫败感是学习成长道路上的二师兄——有些讨厌,却少不了他
假如你面对这些坑,腾挪辗转收放自如,那恭喜你,离玩转Power BI又近了一步
aHR0cHM6Ly9tbWJpei5xbG9nby5jbi9tbWJpel9naWYvbGRGYUJOU2t2SGpIQjdDODVoblpCeEVkWTdYZmRpYWxGU3Myc3FraFUwaEFRR0c0dkRuMW5ET2RYVUdEaWNmYUoxclRlUURQTkpSY2lhZWRpY0FETEFOZ2h3LzA=.gif
今天想谈谈一维表和二维表。这两样如果搞不清,数据清洗时仍然会陷入事倍功半的泥潭

什么是二维表?
看下图,确定一个数值,必须通过行列两个条件去定位,这是二维表最显著的特征
HDjtVYbO_FWLS.png

什么是一维表呢?
像下面左图这种仅需通过单行就能确定数值的,被称为一维表。为了方便浏览打印美观,很多人会把重复姓名合并单元格,如下面右图(合并单元格只是格式美观,对数据清洗反而是一大障碍,会耗费额外时间精力)
jPhLDqtv_6ZLf.png JvUcXJZf_7F7C.png

为什么表格会有一、二维之分呢
大家还记不记得小时候最早接触到表格是什么样?对,就是学校的课程表。用二维表样式来制作课程,是再合理不过了。这张伴随学生时代的课程表,给人留下的印象太深,即便到了工作岗位,表格的制作和打印,也大都是二维表样式
Ok7AnaNk_yJGS.png

那一维表是怎么来的,为什么会出现这样一种有大量重复,反人性的表格样式?

最早接触一维表的,是那些数据库从业者,因为一维表大都是系统自动生成的。但凡从系统里导出来的表,不管是XLS还是CSV,都是一维表样式
换句话说,一维表是符合数据库设计规范的——数据库设计规范是一套参考体系,在技术世界里不分国界地沿用了超过三十年

你只要知道,需要行和列来定位数值的,就是二维表;仅靠单行就能锁定全部信息的,就是一维表

当然,一维表、二维表可以相互转换。一维转二维用透视表,反之用逆透视

我们把一维表称为源数据,特点是数据丰富详实,适合做流水账,方便存储,有利于做统计分析;二维表称为展示数据,特点是明确直观,适合打印、汇报


依然用之前的示例(全国影城数据)来演示
这是系统导出的一维表,全国上万家影城,2019年上半年各月的人次明细,总计有六万多行,地理维度有省市区三层
nhFsgnRc_sUmj.png

一维表显然不适合人类阅读,想了解汇总信息,只能通过透视功能转换为二维表。一维表信息越详实,二维表可展示的方式就越灵活
nETYZTn6_tSnT.png
Qkh7JsKE_JqCP.png
IuCgfXs3_EmdQ.png

回到数据清洗这个环节上来
实际工作中,我们拿到的数据大多是手工制作的二维表——注意,是手工制作,而不是透视过来的二维表,两者最大的区别就在于,手工二维表,存在大量“脏”数据,最典型的就是前文提过的“制表坑”

一个最显著的特点,就是存在大量合并单元格。二维转一维过程中,合并单元格是恶魔

但光你自己明白合并单元格的利弊并没什么L用,要知道,做数据分析时,数据的来源千差万别,如果都是系统导出的倒还好,清洗起来没什么工作量,就怕是那种各部门提交过来的手工电子表,他们只图自己工作方便,制表随意性造成了大量不确定因素,使你的清洗工作量成倍增加

关于数据清洗的经验与技巧,可以单独写本书,况且外面也已出版了很多Power Query的书籍,网上也有很多PQ方面的收费课程,学习门槛几乎可以忽略



这里就举个小示例,演示一下行列都有合并单元格的情况下,如何二维转一维
链接:https://pan.baidu.com/s/1p7OfC3-BkqpYw74pbzj0YA
提取码:g3j2
mkAdZaUn_vvGg.png


1、直接从EXCEL里导入PQ界面
IZyKTcKL_EP3j.png

PQ自动打开后,数据已导入,你会发现,之前合并单元格的地方,已被null占据
U5zWwDFR_DI9c.png


2、第一次“向下填充”选择前三列,“向下填充”
drPRpDqI_fR7s.png

0CpTtcHY2_EFNB.png


3、第一次转置通过“转置”功能,把月份人次场次,行转列
IyFz96w5_rjtR.png

dJJsDsm7_wPFz.png


4、第二次“向下填充”选中第一列月份,依然“向下填充”,把null覆盖掉
IwOd5EG3_cudX.png


5、列合并将前两列暂时合并,方便后续处理
(你也可以试着不合并,看后面操作能不能继续下去。如果不能,究竟卡在什么地方,为什么出卡住,再回过来想一下,这步合并的缘由自然就水落石出)
2WNh6Mcm_D59M.png
C3mcL63E_yEcj.png


6、第二次转置行列恢复如初
QGOtQq3F_L2CD.png


7、首行提升为标题,逆透视将第一行提升为标题。选取前四列,点击“逆透视其他列”
yBpyBgF8_Zuam.png
qaAvrxBh_TnGc.png


8、拆分列将之前的合并列拆分,还原成两列
qTSkBkSX_e29O.png

farDbjCZ_92up.png

9Nyerz9Q_WKUO.png



至此,二维表转一维表过程结束(注意修改列名)

接下来就可以建度量值拉图表搭建可视化页面了
5vJEK5tL_nNzv.png

fcjZHCbx_sGbt.png





aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy91TjFMSWF2N29KOFc2ZHVCMU5samNoUWliaWNwczRlQTNoeTdGVkVjdm9BVWVGUHlMRnAxaWNIelRjdTVsUEljT3JzVHdJek5xM3FpY3NBaEdodkVQVEh2YWcvMD93eF9mbXQ9cG5n.png
0?wx_fmt=gif.gif
0?wx_fmt=gif.gif

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-10-27 17:11 | 显示全部楼层
写得不错。。。。。。。

TA的精华主题

TA的得分主题

发表于 2021-7-30 13:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 liaoliangbang 于 2021-7-30 15:41 编辑

感谢楼主分享,
这里对楼主的步骤展开手把手演示。
详见附件,链接1:包含安装包、讲解视频
链接:https://pan.baidu.com/s/11v7ovw3EjVi9f0GXVS725g
提取码:1234
               链接2:不包含安装包(包含讲解视频)。
链接:https://pan.baidu.com/s/1ygEJyGWaT90UFHMcghs_dQ
提取码:1234
不需要看视频,直接看操作步骤详细讲解的直接下附件。




操作步骤.rar

11.02 KB, 下载次数: 10

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-16 00:51 , Processed in 1.060046 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表