美文网首页东哥陪你学PowerBI
一维表、二维表那些事

一维表、二维表那些事

作者: 江苏东军 | 来源:发表于2020-06-02 09:34 被阅读0次
    cover.png

    上次带大家见识了几个制表时最常见的误区,提出了四条规则

    要想通过一次讨论就把所有误区都说清楚也不现实,有些坑还是要自己踩自己跌自己爬,挫败感是学习成长道路上的二师兄——有些讨厌,却少不了他

    假如你面对这些坑,腾挪辗转收放自如,那恭喜你,离玩转Power BI又近了一步

    image

    今天想谈谈一维表和二维表。这两样如果搞不清,数据清洗时仍然会陷入事倍功半的泥潭

    什么是二维表?

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

    01.png

    什么是一维表呢?

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

    02.png 04.png

    为什么表格会有一、二维之分呢

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


    05.png

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

    最早接触一维表的,是那些数据库从业者,因为一维表大都是系统自动生成的。但凡从系统里导出来的表,不管是XLS还是CSV,都是一维表样式

    换句话说,一维表是符合数据库设计规范的——数据库设计规范是一套参考体系,在技术世界里不分国界地沿用了超过三十年

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

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

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

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

    06.png

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

    07.png 08.png 10.png

    回到数据清洗这个环节上来

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

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

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

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

    image

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

    11.png

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

    12.png

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

    13.png

    2、第一次“向下填充”

    选择前三列,“向下填充”

    14.png 15.png

    3、第一次转置

    通过“转置”功能,把月份人次场次,行转列


    16.png 17.png

    4、第二次“向下填充”

    选中第一列月份,依然“向下填充”,把null覆盖掉

    18.png

    5、列合并

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

    19.png 20.png

    6、第二次转置

    行列恢复如初

    21.png

    7、首行提升为标题,逆透视

    将第一行提升为标题。选取前四列,点击“逆透视其他列”

    22.png 23.png

    8、拆分列

    将之前的合并列拆分,还原成两列

    24.png 25.png 26.png

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

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

    cz月度票房.png cz累计票房.png

    相关文章

      网友评论

        本文标题:一维表、二维表那些事

        本文链接:https://www.haomeiwen.com/subject/ymvyzhtx.html