1、在大数据时代背景下,我们使用的数据主要包含两个类别:一种称为结构化数据,另一种称为非结构化数据。
结构化数据:数据结构规范、完整的数据,主要产生于企业的业务系统及客户端应用程序,如CRM(客户关系管理)系统、ERP(企业资源计划)系统,电商App等。
在使用结构化数据对业务问题进行描述性分析时主要应用的IT工具有电子表格工具、数据库操作语言、ETL工具及数据可视化工具等。
结构化数据具有数据信息完整规范、搜索调用简单方便、易于理解等优点,但是因为其主要产生于企业系统,所以其数据范围被圈定在企业系统可触达的业务范围内,如果要对企业系统之外的有用信息进行分析,就要用到非结构化数据。
结构化数据又可以分为表格结构数据和表结构数据两类。
表格结构数据是指通过WPS表格,Excel等电子表格进行数据分析时,以单元格作为数据加工、处理、分析的基本单位的结构化数据。
表结构数据是指在通过数据库或ETL工具进行数据分析时,以字段为数据加工、处理、分析的基本单位的结构化数据。
非结构化数据是指数据结构不规范、不完整、格式多样、难以理解、难以进行标准化处理的数据。来自企业系统之外的数据,大部分都属于非结构化数据。如短信、音视频、电子邮件。
1、表格结构数据:指应用在电子表格工具上的数据。表格结构数据需要用电子表格工具对其进行处理加工、分析及展现。
2、在电子表格工具上使用的表格结构数据主要具有以下特征
单元格:用于对表格结构数据进行识别、引用、计算的基本单位
单元格区域:单元格的集合
工作表:单元格区域的集合
工作簿:工作表的集合
一个工作簿就是一个独立的电子表格文件。
3、如果说两个不同对象间具有父子关系,那么这两个不同对象间要同时满足以下两个条件:①从父级对象的角度看子级对象,要满足一个父级对象下包含多个不同子级对象;②从子级对象的角度看父级对象,要满足一个子级对象只能属于某一个特定的父级对象。
4、在表格结构数据中,主要的数据类型可分为数值型、文本型、逻辑型3类。
数值值包含整数值与小数值的信息,主要用于科学运算。
文本值中包含文字、符号、数字等信息,主要用来对文本内容进行描述。分为单一字符和字符串
逻辑值中只包含真值true和假值false两种信息,主要用来进行逻辑判断
5、常用红色填充色对过低指标值进行预警;三色红绿灯图标集常用来描述优良差三种数值状态,绿色表示优、黄色表示良、红色表示差。
1、业务数据分析中应用的表格结构数据有3个主要来源,第1个主要来源是企业的后台数据库系统,第2个主要来源是企业的前端操作平台,第3个主要来源是企业外部渠道。
2、常见的电子表格工具支持的数据文件主要有以下两种形式
文本文件:以文本字符构成的文件。常用到的用来存储数据信息的文本文件主要有两种,一种是文件扩展名为.csv的CSV文件,另一种是文件扩展名为.txt的TXT文件。存储数据信息的文本文件主要包含两类信息,一类是数据信息,另一类是分隔不同数据信息用的间隔符。习惯上CSV文件中用","(英文逗号)作为分隔符使用,而TXT文件中用制表符作为分隔符使用。
电子表格工具文件:每种电子表格工具都有自己软件专有的默认文件,用来保存加工、处理、分析后的表格结构数据。WPS表格的默认文件是*.et格式文件,Excel的默认文件是*.xlsx格式文件,而苹果Numbers的默认文件是*.numbers格式文件。
以上两类文件的主要区别有以下三点:
文本文件只包含由文本字符构成的数据及分隔符信息而不包含其他操作信息,而在电子表格工具文件中除包含数据信息外,还包含在电子表格工具中进行操作的其他所有信息记录。
文本文件中记录的数据信息没有明确行数及列数内的数据信息,而电子表格工具文件一般只能记录电子表格工具工作表支持上限行数及列数内的数据信息。如Excel2016最大行数为1048576,最大列数为13684。
文本文件是几乎所有电子表格工具都支持的数据文件,而电子表格工具文件大多数都只能被特定的电子表格工具应用。
3、表格结构数据的引用、查询与计算
引用:简单引用(=A1);跨工作表引用(=Sheet2!A1);单元格区域(A1:C4)[方形区域](C4:A1 就是错的);
在工作表内如果要引用的单元格区域是多个连续的完整行时,直接用行号进行引用(5:8);列也如此(A:F),如(A:A)表示引用A列内所有单元格。
查询:Ctrl+F;VLOOKUP(E2,A:B,2,FALSE) [参数E2表示以E2单元格值作为查找值;A:B表示查找范围;2表示查找范围内的顺序号,即在A:B两列中取第2列上的单元格值,FALSE表示查找匹配范围,FALSE代表精确匹配]
计算:直接计算(+、-、*、/、^幂、>、>=、<、<=、<>不等于、&文本连接;
函数计算
数学函数 | 函数说明 | 统计函数 | 函数说明 | 日期函数 | 函数说明 |
---|---|---|---|---|---|
INTO() | 取整 | MAX() | 求最大 | YEAR() | 求年 |
MOD() | 求余数 | MIN() | 求最小 | MONTH() | 求月 |
ROUND() | 四舍五入 | SUM() | 求和 | DAY() | 求日 |
ABS() | 取绝对值 | COUNT() | 数值计数 | TODAY() | 当前日期 |
SORT() | 算数平方根 | COUNTA() | 计数 | DATE() | 计算给定的日期 |
RAND() | 产生随机数 | AVERAGE() | 求平均 | NOW() | 当前日期和时间 |
RANDBETWEEN() | 指定范围内的随机数 | COUNTIF() | 条件计数 | EDATE() | 指定日期前后月份的日期 |
SUMIF() | 条件求和 | EOMONTH() | 某个月份最后一天的序列号 | ||
AVERAGEIF() | 条件平均 | DATEDIF() | 计算日期差 | ||
COUNTIFS() | 多条件计数 | ||||
SUMIFS() | 多条件求和 | ||||
文本函数 | 函数说明 | AVERAGEIFS() | 多条件平均 | 查找与引用函数 | 函数说明 |
MID() | 取子串 | FREQUENCY() | 求数据分布频率 | VLOOKUP() | 垂直方向查找 |
LEFT() | 从左取子串 | RANK() | 排名次 | OFFSET() | 计算偏移量 |
RIGHT() | 从右取子串 | MATCH() | 返回指定数值在指定区域中位置 | ||
LEN() | 文本长度 | 逻辑函数 | 函数说明 | INDEX() | 引用区域信息 |
TEXT() | 数字转化文本格式 | IF() | 判断 | INDIRECT() | 文本字符串指定的引用 |
REPT() | 文本重复 | AND() | 与 | ROW() | 引用行的数据 |
REPLACE() | 替换特定位置处的文本 | OR() | 或 | COLUMN() | 引用列的数据 |
SUBSTITUTE() | 替换文本 | NOT() | 非 | HLOOKUP() | 水平方向查找 |
1、在表结构数据中,数据引用、操作、计算的基本单位不是“单元格”,而是整列“字段”或整行“记录”。
2、表结构数据的主要来源是数据库中的数据表,一个数据表由多列不同“字段”及多行不同“记录”构成。
3、记录的信息可以分为两类,一类是用来描述行为不同角度的信息,成为维度,另一类是描述结果的信息,成为度量。在表结构数据中,有一些表只包含维度信息而不包含度量信息,这样的表被称为维度表(如产品表、客户信息表、学员信息表等表中的字段不涉及任何业务行为产生的结果,只单纯统计及列举所属维度的各种不同属性内容),还有一些表既包含维度信息又包含度量信息,这样的表被称为真实表(如订单表、采购进货单明细表、库存表。
4、在业务描述性分析过程中,维度表主要用来扩展观测业务问题的角度及细节;用真实表中的度量字段对业务行为产生结果的好坏程度进行描述。
5、业务描述性分析方法的本质就是在不同业务角度(维度)下对业务行为的结果(度量)进行分析、展现、论证及总结的过程。
6、表结构数据中的维度字段一般是文本型字段,而度量字段一般是数值型字段。
7、表结构数据的特征
表结构数据中的基本引用、操作、计算单位是字段或记录行。(字段指的是表中的一整列数据,记录行指的是表中的一整行数据)(与表格结构数据不同,在表结构数据中很难对某一个特定单元格值进行单独的处理和分析,[某些分析工具中的特殊功能可以做到])
字段的第1行叫作“字段名”,字段名是字段的名称,用来区分及识别表中的不同字段,同一个表中不能出现2个以上有相同字段名的字段。由所有字段名构成的表中的第1行信息叫作“标题行。从字段的第2行开始到字段最后一行为止的内容就是表中具体的每行”记录“
在表中所有字段的记录行数相同[连续完整的方形结构]
缺失值处理:当出现空值记录时,往往需要使用删除记录行、替换空值为其他有效值等方法来减少或完全回避空值对分析结果的影响。
几乎所有数据表中都存在且只存在一个主键(非空、不重复)。
主键的业务意义是一个表的业务记录单位。只有能够扩充及描述主键信息的字段才能出现在同一个表中(凡是不能用来扩充及描述主键信息的字段就绝对不能合并在一个数据表中使用。)(如产品表,产品id是主键,产品名称可以在其中出现,而客户姓名不能出现)
1、业务描述性分析中应用的表结构数据也有企业的后台数据库系统、企业的前端操作系统及企业外部渠道3个主要来源。
2、电子表格工具是应用,而表结构数据分析工具是引用。应用的方式无法自动与数据源数据同步更新。
3、关系数据库管理系统(RDBMS):主要任务是企业业务数据的存储、检索、访问与共享,它需要保证数据信息的安全、一致与完整,它的工作性质是事务性的,在整个计算机应用系统的分类中,关系数据库管理系统是联机事务处理系统(On-Line Transaction Processing,OLTP)的一个重要环节,在整个系统中主要承担着数据的存储与读取的任务。
4、关系数据库管理系统虽然虽然强于业务数据的存储与读取,但并不善于对海量数据进行计算分析;虽然能为分析任务提供大多数数据信息,但无法提供所有数据信息;虽然能够共享数据,但无法共享分析结果。因此,需要一套强于获取、加工多源数据、对海量数据进行多为分析并能够及时共享分析结果的计算机应用系统。这套系统由ETL功能、数据仓库功能、OLAP功能及数据可视化功能几部分构成。
5、ETL(Extract-Transform-Load),是将分析时使用的数据从数据源端进行抽取(Extract)、清洗转换(Transform)之后加载(Load)到数据仓库的过程。使用ETL的目的是将所有分析所需的分散在企业内外部的零乱、标准不统一、没有质量保证的数据整合到一起,为分析决策提供完整、高质量数据信息。
ETL功能常见的执行顺序分为两类:一类是按照ETL顺序进行,即先抽取,再清洗转换,最后加载;另一类是按照ELT的顺序进行,先抽取、再加载、最后清洗转换。加载对象数据仓库的处理能力越强,处理数据量越大、清洗转换逻辑越复杂,越倾向于按照ELT的顺序进行。
ETL功能中的E表示抽取功能,其目的是将分析所需的所有相关数据从不同数据源中抽取出来为加载到数据仓库做准备。ETL抽取数据的方式就是引用数据的方式。
ETL功能中的T表示清洗转换功能,其目的是保证数据的完整性和准确性。数据清洗的主要任务是过滤筛选不完整、错误及重复的数据记录。不完整数据主要指的是分析中需要用到而数据源中又有所缺失的数据记录。错误数据主要指的是有错误数值存在的数据记录。重复的数据主要指的是在不应出现重复值的字段中出现重复值的情况。
数据转换主要对“粒度”不一致及“规则”不一致的数据进行转换。在业务描述性分析中的“粒度”指的是观测业务的精细程度,而一个数据表中最小的业务观测粒度一般就是这个数据表中主键所代表的业务记录单位。
ETL功能中的L表示加载功能。ETL功能将从数据源抽取出来的数据经过清洗与转换后加载到数据仓库中进行存储和使用。与数据库(DB)主要用于保存业务系统生成的数据信息不同,数据仓库(DW)主要作用是存储分析所需要的不同数据源上的所有相关数据信息。DW中不仅需要引用DB中某些数据表中的数据,为了保证分析内容的完整性,往往还需要引用DB之外的多个不同数据源中的数据。
DB中能够记录及提供的数据信息一般要满足两个要求:第一个条件就是DB中记录的数据基本都来自业务系统,系统之外的数据一般很少导入DB中存储;第二个条件是DB中记录的数据都是结构化数据,DB无法对非结构化数据进行记录和存储。
6、表结构数据的合并方式可分为横向合并与纵向合并两类
横向合并是将不同表中的字段信息合并到同一个表中使用的方式。横向合并的作用与使用VLOOKUP函数为表格结构数据补充列上信息的作用相同,只是表结构数据中横向合并的操作逻辑要比使用VLOOKUP函数的操作逻辑复杂一些。数据表间横向合并的前提条件是两表间需要分别有一个可用于连接的公共字段。
通过公共字段连接在一起的两表在进行横向合并后的合并结果最终由连接时的3个属性决定。分别是方向性、主附关系及对应关系。
两表连接时的方向性分为左表和右表两种。在数据库中书写SQL命令时,写在连接命令前面的表称为左表,写在连接命令后边的表称为右表,如A left join B(left join为左连接命令)
根据连接方式来决定两表之间的主附关系。在业务描述性分析中,主要使用3种连接方式,它们主要是左连接、右连接及内连接。在SQL中其写法为left join、right join和inner join。当使用左连接方式进行连接时,左表是主表,右表是附表;当使用右连接方式进行连接时,右表是主表,左表是附表;当使用内连接方式进行连接时,两表没有主附之分。两表横向合并结果的范围由主表公共字段的记录内容决定,主表公共字段中有的记录值会反映在横向合并结果中,而主表公共字段中没有的记录值则不会出现在横向合并结果中。(当主表公共字段中有某个记录值在附表公共字段中找不到匹配对象时,此行记录中附表部分会被匹配为空值;当附表公共字段中有某个记录值在主表公共字段中找不到匹配对象时,此行记录不会出现在横向合并结果中。内连接方式下两表没有主附之分,横向合并结果只包含两表共有的、能够相互匹配到记录行的内容。
对应关系:由公共字段中 是否存在重复值决定的。公共字段中存在重复值的表称为多表,而公共字段不存在重复值的表称为一表。所以两表连接时可能产生多对多、一对一及一对多(一对多和多对一在逻辑上时一样的,故归为一类)3种对应关系。对应关系决定两表连接结果的行数是两表公共字段匹配记录值乘积的结果。因为表中的主键是没有重复值的,一般两表对应关系中的一表使用的是主键字段,而对应关系中的多表使用的是非主键字段。所以一对一的对应关系可以理解为“主键对主键”的连接;一对多的对应关系是”主键对非主键“的连接;多对多的对应关系是”非主键对非主键“的连接。在实际场景中,尽量使用一对多的对应关系进行连接,也就是要将某个表的主键与另一个表的非主键作为公共字段进行连接。
横向合并的逻辑为:
横向合并前要先选择连接两表用的公共字段;
主附关系=方向性+连接方式;
两表横向合并的范围由主表公共字段的记录内容决定;
内连接没有主附之分,横向合并结果中只包含两表能够相互匹配到值的记录行;
两表合并时会产生一对一、一对多及多对多3种不同的对应关系;
对应关系决定两表连接结果的行数是两表公共字段匹配记录值乘积的结果;
多表一般是将非主键字段作为公共字段使用的表,一表一般是将主键作为公共字段使用的表。在实际使用中,一般应选择一对多的对应关系进行连接。
为了能够直观、清晰、全面地了解各表间的连接关系,可以标识多表连接的“鸟瞰图”,即E-R图。
画法是首先将每一个表的字段列表展现出来,再用连接线连接两表的公共字段,最后标识两表的对应关系。
图中每一个方框就是一个不同的数据表,方框中记录数据表的表名及表中各字段的字段名。
表与表间的连接线指向的字段就是两表连接时使用的公共字段,连接线标识“1”的一侧就代表是一表,而标识“*”的一侧就代表是多表。
纵向合并:在记录上进行数据信息和并的方式。
在进行多表的纵向合并时,有以下两种合并方式。
去重合并:将记录内容完全相同的记录行去重后再进行合并的方式。
全合并:不去除重复内容的记录行,直接将不同表中所有的记录行合并在一起的方式。
在SQL中,union为去重合并。union all为全合并。
纵向合并需要满足的条件
合并在一起的数据表应具有相同的字段数
在相同位置上的字段数据类型应保持一致
7、表结构数据的汇总
将零散的表结构数据按照业务需求进行汇总分析的方法是使用表结构数据进行业务描述性分析时所使用的主要分析方法,这种方法即数据透视分析方法。
在电子表格工具下可以使用数据透视图、表进行数据透视分析,在表结构数据分析工具下可以通过编写代码或进行对话框操作等方式进行数据透视分析。
当使用电子表格工具制作数据透视图、表时,虽然参照的数据源是工作表中的表格结构数据,但是在生成数据透视结果前,在电子表格工具内部会先将表格结构转换为以字段为基本操作单位的表结构数据,再生成透视结果。
拖曳字段生成数据透视图、表大体上可以分为:创建数据透视图、表模版;选择维度字段拖入适当位置;选择度量字段拖入适当位置;决定维度对度量进行汇总计算时使用的计算规则。
通过数据透视图、表得到的任何结果都是在维度、度量、汇总计算规则这3个要素共同作用下生成的。维度是业务行为的相关角度,度量是业务行为的结果。在透视分析中使用维度字段又称为分组依据,汇总计算规则又称为聚合规则。维度对度量进行总计算的过程称为筛选,故可以将维度汇总质量的过程表述为维度筛选度量,或者度量被维度筛选。
8、汇总计算规则
合计规则:将相同维度值下对应的多个度量值相加在一起。在大多数工具中用SUM函数代表合计规则。
计数规则:对相同维度值下的度量个数进行计数,在大多数工具中使用的计数规则只针对非空记录进行统计,故为保证计数结果的全面性,在没有特殊要求的前提下,最好对不存在空值的主键字段进行计数。计数规则一般使用COUNT函数。
去重计数:只统计相同维度值下不重复的度量个数。其一般用DISTINCTCOUNT函数表示。
平均规则:用合计规则的结果除以计数规则的结果。一般用AVERAGE函数表示。
最大致规则:求相同维度值下最大的度量值,一般用MAX函数表示。
最小值规则:求相同维度值下最小的度量值,一般用MIN函数表示。