对于业务人员而言,对Excel的了解会胜过任何其他的数据类程序,可以不懂数据库,不能不知Excel。微软的Excel产品无形中奠定了大多数人的数据基础,很多在Excel中不良的数据习惯,比如合并单元格、多标题等,也为规范的数据化整理埋下了不少的地雷。

随着业务数据越来越多,Excel已经无法满足“大数据”的分析需求,比如难以分析过去一年几十万订单的综合情况,同时对分析处理无法胜任,比如难以分析会员的复购频率和复购间隔。遇到问题,我的第一反应是寻找更好的工具去解决,总有很多人比我更早地遇到了类似的问题。所以我了解了数据库的“范式”和Tableau,在此简要说明规范的数据世界的基本要求,,希望更多的人能在大数据时代超越Excel的数据局限,通往数据的自由世界。
*本文的数据库均指关系型数据库。

1、超越Excel:从使用数据表到理解数据库

无疑,Excel的高度灵活性和可用性让所有人爱不释手,轻松创建工作表、随时输入所见即所得、数据不需要在乎数据格式、轻松合并单元格和版式设计,以及丰富的编辑工具等,可以说是每个进入职场的必备生产力工具。

它帮助大家整理数据、存储数据,实现基本的数据计算和分析,奠定了大家对于数据世界的基本理解。不过,随着大数据时代的到来,业务人员需要接触越来越多的数据库数据,后期整理、转化的数据会远远超过自己生成和存储的数据,特别是在大中型公司,所有的数据都会被专业处理和数据库存储,这就需要超越Excel的数据基础,理解数据库(DB)世界的基本规则。如此才能更好地理解、使用和洞察业务大数据,并把它转化为业务价值。

database-157334670-5c29939d46e0fb0001edf766
enot-poloskun / Getty Images

以存储为基础的数据库与Excel的设计初衷截然不同,更加在乎数据存储的效率。数据库其实就在我们每个人身边,从你我的华为手机通讯录、微信聊天记录、抖音的可视化内容,到企业的ERP、CRM,它看似不可见,却是数据存储的基础。随着数据库技术几十年的快速发展,行业形成了一些共识类的规范,从而提高数据存储和分析的效率,降低数据出错概率。概括而言,数据规范化主要有两点目的:减少数据冗余(eliminating redundant data)、确保数据依赖有意义(ensuring data dependencies make sense)。

数据规范化,指高效整理数据库数据的过程。

减少数据容易非常好理解,指重复数据应该减少到最少。比如说,不能把会员的姓名、性别同时保存在多个表中(比如订单信息和会员信息表),因为会员的姓名和性别都是会员的属性特征,存储在多个位置增加了数据冗余即导致浪费,还容易导致数据删除和编辑错误,以及数据库性能下降。

确保数据依赖有意义,即让相互具有依赖关系的数据正确地建立关系。

2、超越Excel的不良习惯:从不规范到规范

为了实现上面说的两个数据目标,工程师们为数据设定了五个规范等级,最主要的又是前三个,称为第一范式、第二范式、第三范式,简称1NF、2NF、3NF。

简单的说,第一范式就是每一行数据都不能重复——这是一个非常低的标准,我们非常容易达到;是不是意味着我们大部分的Excel都符合数据库第一范式?不是,问题出在我们使用Excel的习惯上!

wp-15515691062215666824450924385968.jpg

数据库的基础和Excel不同,最基本的两条是:以行为单位读写数据、一个单元格只有一个数据。基于此,我们把数据库的标题理解为数据库的第一行,它不能有两行,更不能有合并和拆分!但是我们身边经常见的数据是这样的:

Screen Shot 2019-03-03 at 7.36.01 AM

这样的数据虽然没有重复数据行,但却是不规范的;它可以是躺在Excel中的数据表,但不能成为数据库中的数据表。我们把这样的数据导入到Tableau分析平台,除非使用数据解释器,默认无法准确识别标题行!

如何超越Excel的不良习惯,通往大数据分析的规范要求(第一范式)呢?有几条准则是必须遵守的:

  • 只有一个标题行,并且在第一行;
  • 标题或者数据,都不要合并单元格;
  • 有一个最主要的字段(属性),不能为空,其他字段都依赖于它。

符合这几个原则,我们的Excel数据就变成了符合最低规范要求的数据库表;而这,也是我们理解所有的关系数据库的基础——所有的数据库表都只有一个标题,每个单元格数据都是唯一的,序号作为主属性,保证每一行都不重复。

Screen Shot 2019-03-03 at 7.51.17 AM.png

如果你想要保留之前的表头附加信息(比如导出日期、制表人)用于打印,应该使用“页眉/页脚”来设置,或者临时插入辅助行用于打印。

对于Excel“老司机”而言,这一规范化过程非常好接受,对于Excel的新手而言,推荐大家阅读伍昊的《你早该这么玩Excel》(上),这是我大学毕业工作后的Excel启蒙书,至今受益无穷。

3、超越第一范式:从规范到高效

我们刚才说的第一范式(数据不重复)只是数据库的最基本要求,它保证数据可以把查询和分析,但却不能保证数据分析的性能和质量。为什么?因为满足第一范式只解决了表的数据冗余,却不能解决字段冗余等问题,比如在订单数据库中包含了顾客的多个字段、收货人的多个字段,收货字段内容取决于“就餐类型”的内容(数据依赖),这样就导致大量的数据重复(顾客多次消费就会出现多次信息)和数据空白(当就餐类型为内用时,收货人信息全部为空白),这也是数据库表信息的冗余,但是不能通过第一范式来解决。

数据范式 数据冗余.jpg

解决这个问题,就需要参考数据规范的第二范式(2NF),它的要求是,

  • 符合第一范式的要求。
  • 不能存在部分依赖。

因此,为了提高数据库的存储效率减少冗余,数据库设计时就需要为部分依赖的数据单独建立数据表,比如把上面订单信息中的顾客信息、收货信息单独,在订单中只保留顾客的唯一编码(比如会员号)和收货单号。当然,这些已经超过了数据分析者的工作范围,而属于数据库管理员或者数据库架构师的范围;理解这些内容可以帮助我们更好的理解数据分析。

在这里,理解第二范式,有助于帮助我们理解在大数据分析中常见的“数据连接”(Join)。虽然为了数据存储效率我们需要拆分部分依赖的字段,但是在分析中,我们经常需要把多个表格的数据连接起来,从而实现跨数据分析,而多表连接的依据就是它们的共同字段,或者说主属性。通过Tableau Prep,我们可以轻松连接、轻松调整并直观地查看数据连接结果。

prep 数据连接.jpg

4、反范式设计

当然,并非所有的数据都应该严格按照一二三范式来执行,有时候我们需要用不符合范式要求的数据格式,从而换取更多利益。

 

Excel是业务人员使用数据的最基础工作,理解数据库规范的基本要求,养成良好的Excel使用习惯,有助于更加高效地理解大数据的分析工具。

 

推荐阅读:

 

Mar 3, 2019