数据分析全自动,简道云数据工厂系列——基础篇
在上篇,我们简单介绍了数据工厂对于企业数据应用的重要作用,但数据工厂具体如何处理分散的、杂乱的、原始的数据呢?
本篇将从数据工厂的6个基本操作入手,讲解下数据工厂的基本操作。
数据工厂的本质
我们知道,如果想要进行数据分析,数据维度及指标之间必须存在物理关联,也就是他们需要存在于一个表里。而对于单表的数据展示分析我们并不陌生,不管是报表还是仪表盘都支持单表单数据的展示分析。但如果要对多个表单的数据,甚至是跨应用的表单数据进行整合,该如何呢?
对于多表的数据整合,我们需要搭建数据模型来进行数据整合,通过各种操作,将不同表里存在的维度和指标整合到一个表里。这样我们就可以通过仪表盘来进行展示了。所以数据工厂的本质就是通过横向连接、追加合并等各种操作,将需要分析、处理、展现的多个表单数据整合到一张表里。
这样我们就可以通过单表数据分析展示的逻辑去完成最后一步了。
下面我们就分别介绍下数据工厂的这6个操作。
详细讲解前,咱们先简单说说表结构的几个概念。
数据库中的表在简道云产品逻辑里就是一个个表单或流程表单。表结构由字段(也叫属性)、记录(一条条数据)两部分组成。而字段里面又会包括:维度、指标。
字段里有主键字段(唯一确定一条记录不可重复的存在,可以是一个字段,也可以是多个字段组成,一般我们会用流水号生成)、外键字段(另外一个表的主键,可以为空也可以重复)。
举例说明:
客户信息表:记录日期,客户ID,客户姓名,客户电话,客户地址
订单明细表:订单日期,订单ID,客户ID,订单金额。
这里,客户信息表里的客户ID就是主键,订单明细表里的订单ID是主键而客户ID是外键。
主键和外键就是进行横向连接的关键所在。大家在表单设计时,数据联动、关联查询、关联表单的运用都有主键、外键思考在内的。
输入与输出
输入:代表着源数据的选择,可以选择当前应用或跨应用的表单,而且可以选择需要的字段作为输入。跟数据库中的select操作类似,select 字段 from 表。
注意:用不到的字段不要选择!
输出:它是将前面所有节点处理后混合形成的大表输出到数据仓库中的数据流节点。这个最终输出,可以被仪表盘调用,进行可视化展示。
就像水流一样,有源头的输入,也有终端的输出。数据流这个名字还是很贴切的。
横向连接
横向连接是数据库表操作的其中一大操作。它主是在表的横向方向上对原始表进行扩展。我们可以简单的理解为EXCEL里的VLOOKUP操作,A表和B表通过一个或多个字段的匹配,将对应表的所有字段关联过来。它的主要作用是增加表的字段数量。
横向连接的字段必须是同种类型字段,日期对日期、文本对文本、部门/成员对部门/成员、数字对数字。
横向连接有3中情况:
-
内连接:只返回左右两侧表设定条件完全匹配的部分数据。也就是A表和B表的设定条件的共有部分。因此内连接可能会让原始的两个表的信息都产生丢失。
还以上面的客户信息表和订单信息表为例。客户信息表内连接订单信息表,连接字段为客户ID,那么结果就是客户信息表和订单信息表客户ID都存在的能匹配上的所有记录。
-
左连接:返回左侧表的连接字段的全部数据,再加上右侧表的连接字段的匹配数据。
与内连接不同的是,它会返回左侧表的连接字段的全部数据。不管右侧表里是否存在连接字段的匹配值。
-
右连接:其实就是左连接的左右调换而已,大家如果都把左侧表第一个连接到横向连接节点上,那么就用不到右连接了。系统会自动把第一个连接到此节点上的表作为左侧表。
横向连接作为原始表扩展分析维度的重要手段,它的出现会增加原始表的字段丰富度。我们在订单明细表里只保留了客户ID字段,没有将客户信息联动过来,减少了客户信息更改的变动复杂度(如果订单明细表里也把客户信息联动过来,那么客户信息变更时就需要用智能助手去自动变更信息了)。
注意事项:横向连接计算耗时时间长,定不可多用。
追加合并
横向连接主要是在横向上对表进行扩展,而追加合并则主要是在纵向上对表进行扩展,也就是增加表的记录数量(当然它是可以增加字段数量的)。
就像它的名字一样,它的操作实在前面表的基础上,进行追加操作而合并成为一个表的操作。
追加合并的数据来源可以是输入表,也可以是横向连接、追加合并、分组汇总等形成的二次表。
追加合并主要是有3种模式。
-
表结构完全相同
还是以上面的表为例,如下图。5月份和6月份的客户信息表进行追加合并,这俩表的结构完全相同,不同的只是记录根据某个条件(时间、渠道、部门等)区分开来。
-
表结构有部分相同字段
这种操作的出现大致是因为我们在设计表单时,多表的共有字段没有通过表范式的设计进行优化,在多表里保留了共有字段信息。这种设计方案,要么保证共有字段数据修改删除的操作几乎不存在,要么用智能助手去保持它们的一致性。
它的操作结果如下图所示,会将相同字段追加上,而不同的字段会进行横向扩展。另外没有这个字段信息的表的此处将显示为空。
-
表结构完全不同
这种操作出现几率很小,只是为了将N个不同字段的表整合到一起调用指标进行分析而已。
尽量减少这样的操作
对横向连接和追加合并的总结就是:横向连接主要是为了增加字段数量(也就是列数量),而追加合并主要是增加记录数量(也就是行数量)。
但他们都是可以增加行列数量的。
数据筛选
数据筛选也就是如同excel里的筛选一样,可以通过筛选条件的设置,来完成我们想要的符合条件的数据的过滤,以参与后面节点的数据处理。
比如,我们想要分析订单明细表里单值大于1万的订单。那么就可以在输入之后放置一个数据筛选。
这个节点的操作相对容易理解,咱们这里不做赘述了。
分组汇总
分组汇总是对多个维度的多个指标进行基础的算术计算,包括:求和、计数、平均、最大值、最小值。它的结果类似excel里的透视表计算结果。
分组:支持的字段数据类型为文本、日期、地址(包括定位)、成员/部门单选。分组字段可以选择一个或多个。日期和地址的分组会稍微特殊,在选择日期和地址(包括定位)字段时,会额外多出一行,它们可以选择数据颗粒度。
日期可以选择年、年-季、年-月、年-周、年-月-日,日期默认选择 年-月
地址字段可以选择省、省-市、省-市-区,地址默认选择 省-市
。
汇总:文本、日期、地址类型,汇总方式只支持计数,计算该分组内该字段(非空)的记录总数。数字类型,支持的汇总方式有求和
、平均
、最大值
、最小值
、计数
,默认求和。
分组汇总具体作用有以下几点:
-
日期调整
日期选择年分组时,日期字段得到的结果是当年的1月1日;选择月分组时,日期字段得到的结果将是当月的1日。这就提供给了我们对日期数据进行特殊调整的能力。
例如,我们在统计数据时,1月2月因为春节的存在,单独分析不具有代表性,所以需要将1月和2月合并为1个月。那么在处理时,就可以通过筛选1-2月数据后,分组汇总日期确定到年的数据,那么所有数据都将变成1月1日的数据了。
-
计算中间值
有时我们想要的数据结果需要经过多次计算才能得到。
比如提成。需要先计算业绩完成率,再根据业绩完成率去计算提点。此时就需要利用分组汇总对业绩和任务进行一次汇总、连接、计算,得到完成率后计算出提点,再连接到业绩汇总表上去计算提成。
字段设置
基本操作包括:隐藏字段、修改字段显示名、调整字段顺序(追加合并那里也是可以调整字段顺序的)、添加计算字段。
最重要的操作就是这个添加计算字段了。它是进行数据指标计算的重要工具。我们上面提到的。
计算字段的主要作用有以下几点:
-
字段调整
利用隐藏字段、修改字段显示名和调整字段顺序来调整数据流输出表的字段结构,方便后期在仪表盘中进行可视化设置。
-
计算字段
顾名思义,它是通过计算得到的新字段。相当于在excel的表中插入一列利用公式生成的值。
它目前仅支持数学运算符(+-*/)、比较运算符(><==等)、逻辑函数和数学函数,而且只支持对数字字段进行公式计算,输出的结果目前也只能是数字。(也是因为这个缺陷,很多需要分析的维度,需要提前在表单里添加辅助字段进行计算,导致设计的表单变得臃肿起来,尤其是子表单中的辅助字段的添加,这会降低表单的性能。期待后期数据工厂的计算字段能像表单字段一样灵活强大!)
数据流相关规则
-
数据流的设置方式采用
输入
>>计算
>>输出
的方式设置。 -
新建的数据流默认分别有一个输入和输出节点,输入端为起点,输出端为终点。
-
输入没有节点入口、可以有多个节点出口,出口不能是输出 ,不可命名(取其所使用的表单名字)。一个数据流里只有一个输出节点,但是可以有很多输入节点。
-
输出只有一个节点入口、没有节点出口,可以命名,其结果集直接展示在数据仓库的数据页面。
-
中间计算端可以命名,横向连接只能有2个入口,追加合并至少要有2个入口最多有4个入口,其他计算只能有一个入口。
-
一个数据流里面只能有一个完整的数据计算流程,不能存在多个孤立的流程、不能存在孤立的节点。
-
数据流的总数据量上限是100万行。
-
数据流的自动计算时间为表单数据更改后1个小时内。(这也是被广大用户抱怨不已的设定。等待官方的更新吧)
-
数据流的总计算时长上限为10分钟。(这个应该是对的,我个人测试的最高计算时长为9分钟,其他都是计算失败了。再者也咨询官方客服,也说是10分钟上限)
-
-
节点的数据预览计算时长如果超过15秒,那么就会预览失败显示:“预览数据前,请先完成节点配置”。
-
-
在数据工厂界面,点击输出表名称,可以对数据流最终输出表进行查看,并可以进行筛选、设置显示字段等操作。
-
关于数据流计算时长:与数据量有关,但影响更大的是数据流的节点数量,尤其是横向连接这种费时间的节点数量。(我一个输出表有23万数据量的数据流计算时长才2分钟,而另一个不足1千数据量的数据流结算时长能多达8-9分钟,就因为节点数量过多。)
以上就是为大家分享的关于数据工厂的基本操作的内容了。官方帮助文档上有些内容写的也挺齐全,大家可以结合起来查看。
数据工厂现在的功能虽然还有诸多限制、低能甚至缺陷,但是数据工厂是简道云真正完成它对企业数据赋能、数据自助分析、数据驱动业务的核心部件,就像人的大脑一样的存在,后期必然会更加大放光彩,为所有简道云用户实现真正的数据赋能!!!
有了简道云,数据分析全自动!
历史文章:
数据分析自动化,简道云数据工厂系列——前言篇
复杂提成计算,以后工资就交给简道云了!
简道云自定义日期分析满足你对日期分析的各种!
浅谈简道云数据分析模型设计
你确定你会用excel吗?——条件格式帮你装X
简道云——中秋福利发放新姿势
excel函数查找三剑客之Vlookup
请个假还需追着领导屁股后面等签字?没有的事!!!
Excel查找三剑客之二——index+match
Excel 操作猛如虎 之 快捷键
拖拖拽拽,设计个图书借阅管理系统
想要了解更多功能交流学习、咨询简道云设计、数据工厂建模,或者需要定制属于你自己的数据管理系统的,请扫码关注公众号或者加我好友
本公众号旨在分享推荐数据分析处理的软件、知识、案例,和企业信息化应用的saas软件及使用方法和应用案例,以及其他提升工作效率的小应用、软件、方法!