第二章 数据连接与管理
2.1 认识DataFocus数据
2.1.1 数据类型
在数据管理页面点击一张数据表,可以在列信息中可以看到该表中每列的信息,如显示名称、数据类型、描述、列类型、聚合方式、同义词、索引类型、地域类型等,如图2-1-1所示。

其中数据类型是代表每一列中数据的类型,在DataFocus中数据类型共有7种,分别为:string(字符型)、int(整型,范围介于smallint和bigint范围之间)、double(双精度型)、timestamp(日期型,共包含10种日期格式)、bigint(整型,范围比int型更大)、smallint(整型,范围比int型范围小)和boolean(布尔类型),在导入数据的配置表信息中,需选择对应的数据类型,选择完成后,方可开始导入,如图2-1-2所示。

一般较常用的是前四种数据类型,若导入的数据表中的某列为整数数值,则可选择int类型(若该整数数值为年份、月份或者编号数据等,则可选择string类型);若数据后带有小数点,则可选择double类型;若数据是日期格式中的一种,则选择timestamp类型。
数据类型在导入时配置固定,不可轻易进行修改,如果真的需要进行变动,可以在搜索页面借助公式进行转换,如图2-1-3所示。

2.1.2 列类型 DataFocus中的列类型有两种,分别是attribute(属性列)和measure(数值列),属性列一般作为X轴和图例使用,数值列作为Y轴使用。列类型可以在列信息中直接改动,但是只有数值列可以修改列类型为属性列,属性列不能修改列类型,如图2-1-4所示。

2.2 数据连接 在当今的工作和研究中,数据分析的重要性得到了越来越多人的认可。人们在学习和工作中也运用定量和定性的方法对行业、企业和部门的相关数据进行分析,不仅能帮助改进工作中的不足,还可以为企业未来的发展方向提供有益的参考。
而我们利用DataFocus分析工具帮助进行数据分析的基础就是数据。若是没有了数据,就算拥有者再厉害的数据分析工具,都是空谈。因此这一小节,我们就将来介绍一下DataFocus中的一些基本的数据连接方式。
2.2.1 连接本地数据源 1、导入本地数据
首先是介绍如何连接本地数据源,本地数据文件是我们最常见也是最实用的一类数据。拥有数据管理权限的用户在“数据管理”页面的操作栏中才会显示“导入数据”的按钮,如图2-2-1所示。

点击“导入数据”,可以看到DataFocus本地导入数据的一些规则,如图2-2-2所示。从图中可以看到,DataFocus支持本地的csv、excel、json文件的导入,且文件大小需小于50M,基本能够满足企业正常数据分析的需求。

接下来将以csv数据导入操作进行演示并讲解:
点击“请选择文件”按钮,选中电脑中需要进行导入的数据文件,单击打开,选择好后再点击“上传”,如图2-2-3所示。

文件上传成功后会显示如图2-2-4所示的“配置csv”信息界面,这里可以将您的本地数据进行简单的清洗处理,比如填补缺失值、选择文件编码等等。这里特别注意,一定要选择正确的文件编码,才能将导入文件中的中文部分字体正确显示。

点击下一步,如下图2-2-5所示,可以对表格的信息进行简单修改,包括修改需要导入的列、修改列名、修改导入表名、修改数据类型,配置结束后点击“开始导入”。导入的文件会根据上传数据的类型显示为不同的来源,如图2-2-6所示。


2、批量合并导入excel文件
上面讲述了单张数据表导入的操作步骤,如果您的本地数据表有几十张几百张,那么刚刚介绍的方法就不适用了。因此DataFocus就提供了一种数据表的批量导入方法。
首先需要输入连接的服务器IP或域名,以及执行导入的用户标识ID、Key。配置页面如图2-2-7所示。

DataFocus系统中,用户标识所在位置如下组图2-2-8所示。



选择需要批量导入的文件目录。选择目录后,工具左侧“目录下所有excel文件”会更新当前目录下所有的excel文件。检查文件无误后点击“同步导入”。
配置过同步文件目录后,会弹出数据预览窗口。通过点击预览数据中具体某行后点击“设置选定行为标题的栏”来确定数据中某行作为标题列名。也可以通过添加“关键字”的方式对数据表中进行行过滤,工具会根据某行数据中是否含有关键字来过滤掉某行数据,如图2-2-9所示。

完成数据过滤设置后,点击“同步导入”后会弹出即将导入的excel的属性配置。用户可自行配置(表名,描述,数据列,列名,数据列,数据类型)。确认无误后点击“确认导入”,如组图2-2-10所示。


点击 “确认导入”。导入成功后,整理合并后的文件状态会变更为“已导入---导入成功”。
2.2.2 连接服务器数据源 上面介绍了一些本地文件的导入方法,但现阶段随着时代的发展和数据量的暴增,仅仅是简单的本地数据文件以及无法满足企业的基本需求,因此越来越多的企业选择使用数据库来进行数据存储。这一小节主要介绍两种类型的数据库连接方式。
1、导入数据
首先是导入数据,导入数据是将企业的业务数据系统和DataFocus进行连接,将系统中的数据导入DataFocus进行分析数据,以DataFocus作为一个数据仓库。
同样是数据管理权限的用户才能在“数据管理——数据源”页面中显示“新建数据源”,如图2-2-11所示。

点击“新建数据源”,选择数据源类型为导入数据,如图2-2-12所示。

接下来就是正式创建一个新的数据源,主要步骤可以分成四步:
第一步:创建一个连接。选择数据源类型完毕后,需要在弹出的界面输入内输入数据源的基本信息,包括“连接类型”、“数据库类型”、“连接名”、“服务器”、“端口”、“数据库名”、“用户名”、“密码”,并且设置是否需要定时导入,如图2-2-13所示。
目前版本支持的连接类型包括:mysql、oracle、sqlserver、postgresql、SAP、Sybase。
信息填写完毕后,点击页面下方的‘测试连接’按钮,若是用户输入正确会提示连接成功,否则显示连接失败。连接成功后点击“创建”进入下一步;

第二步:选择要导入的表。如图2-2-14所示,左边显示的是企业数据库中所有的数据表,右边显示用户选择需要分析的表。用户勾选想要导入的数据表,点击“右移”按钮,即可将数据表选择至右侧的已选表框。点击表名后的齿轮图标则可以对数据表进行筛选选择,配置表中特殊列的导入方式和过滤条件,选表完成后点击“下一步”。

第三步:选择更新方式。如图2-2-15所示,每张表右端都会显示“全量”与“增量”两个按钮;而数据框右上角则有“全部全量”与“全部增量”两个选项。“全部全量”适用于数据第一次导入,表示导入所有的数据。点击“全部全量”,则所有选中的数据表右侧的 “全量”按钮会显示被选中;“全部增量”适用于数据量会不定时增多的的情况,且如果是第一次导入,“全部增量”其实就是全量导入,因此比较推荐直接选择“全部增量”即可,系统只会导入增加部分而不会重复导入,避免浪费时间。最后点击“确定”按钮,数据源创建成功。

第四步:开始导入。在数据源新建完成后,数据源并不会立刻开始导入,还是需要用户选中需要进行导入的数据源,点击页面左上角的“开始”按钮,如图2-2-16所示。数据源才开始正式导入。

如图2-2-17所示,当数据源的任务状态显示为“SUCCESS”,进度为100%的时候,数据源的导入就算结束了,选中的表格也正式进入了系统的工作表模块,可供进行分析。

2、直连数据
除了上面介绍的“导入数据”,DataFocus还支持的一种数据源类型是直连数据。如果说“导入数据”是将DataFocus作为一个数据仓库来用的话,那么“直连数据”就不同了。直连数据不需要将企业数据库中的数据导入到DataFocus系统,它的优势在于直连数据支持实时更新,只要企业数据库中的数据出现变动,DataFocus中制作的中间表、图形等都会随之变动。但也正是因为直连数据的这些特性,不建议对数据量较大的情况进行直连数据的分析,因为不进行数据导入,直连数据的分析快慢取决于企业的业务系统的情况。
创建数据源连接的步骤,和“导入数据”基本一致,但目前版本的直连数据仅支持mysql数据库的连接,如图2-2-18所示。

也是利用和“导入数据”同样的操作选择需要导入系统的表格,如图2-2-19所示。

导入成功的直连数据,如图2-2-20所示。

2.2.3 数据填报 数据填表功能是应一些客户的反映而添加制作的一个功能,就是可以在DataFocus系统中自己制作一张表格,比较适用于各部门填写“请假单”时使用。
有数据管理权限的用户同样可以在数据管理中找到“数据填报”的页面,如图2-2-21所示。

点击左上角的“新建填报数据”,在弹出的信息页面,填写新建报表的一些基本信息,包括报表的名称、描述和列信息,如图2-2-22所示,填写完毕后点击确定。

此时新建的报表虽然有了列名和表名,内部数据仍是空白的。此时,选择该表报右侧的“填报”按钮,如图2-2-23所示。

在弹出的“在线填报”页面内进行数据填充,更新完数据行后,点击确认,自动提交到数据模板审核者处进行审核,如图2-2-24所示。
只有通过审核的数据可以更新同步到对应的工作表使用,驳回的数据将返回到填报人处重新进行填报。

2.2.4 数据更新
1、本地数据
如果是本地电脑导入的单个csv文件,若是数据出现了更新,则需要您重新按照导入的步骤再导入一次。
若是利用批量合并导入的excel文件中出现新增数据,则可以在工具中点击“刷新目录文件”,即会更新到新增的sheet,记录数。此时整理合并的表显示“待更新”,如图2-2-25所示。

点击“同步导入”即会同步更新至DataFocus环境中,此时整理合并的表显示“已更新--更新成功”,如图2-2-26所示。

同时也可以使用定时导入功能,可定时导入数据(每天/每周/每月),可以设置时间间隔导入,如图2-2-27所示。

3、直连数据源
在上面导入数据时也已经介绍过了,直连数据是可以实时更新的,只要企业数据库中的数据发生变动,DataFocus中制作出的图表就会随之变动。
4、导入数据源
数据源的更新可以在导入时进行设置,如图2-2-28所示。。
定时导入的时间选项有:无、每天、每周、每月。无表示不设置定时导入,其余则代表用户建立的该数据源会在设置好的时间自动导入DataFocus系统并自动开始构建模型,无需用户再次手动导入。

2.3 数据处理 2.3.1 行列转换 当数据符合行列转换的数据结构要求时,可以从“操作”选项单内找到“行列转换”选项并进行操作,字体为黑色代表可用行列转换,字体为灰色则代表不可用,如图2-3-1所示。

行列转换还可以分为行转列和列转行两种情况:
行转列用于将数据按某一列的列中值转化为对应的多个列;列转行用于将多列数值列转化为有单一映射关系的两个列(1个属性列1个数值列)。这里利用列转行操作进行演示。
点击图2-3-1中的行列互转,跳出行列互换设置弹窗,先选择转换数据,勾选需要转化的属性列和对应的数值列(可一可多),如图2-3-2所示。

点击“下一步”,配置转换数据,包括为转换后的属性列和数值列进行命名,以及修改转换后的属性列列中值,如图2-3-3所示。

转换数据配置结束后如图2-3-4所示。

最后列转行结束后的展示图如图2-3-5所示。

2.3.2 清洗数据 在DataFocus中清晰数据的方式主要有两种,第一种是直接在导入时预处理CSV文件,另一种是利用中间表进行筛选,行列转换等复杂清洗,帮助后续制作历史问答和看板提供数据基础。
1、预处理
如图2-3-6所示,这是CSV文件导入时的配置选项,通过勾选可以将CSV文件进行简单的预处理,

2、复杂清洗
复杂清洗主要是指将搜索得出的结果或者筛选、行列转换后得出的数据通过中间表进行保存,以便下一次的使用或者帮助做图。
这里介绍两种制作中间表的方法:
第一种,问答中间表。在搜索页面中通过将搜索分析,将得出的结果点击“操作”按钮,选择“保存为中间表”,如图2-3-7所示。

问答中间表因为是在搜索页面建立的,可以对数据进行一些处理,比如筛选、关键词搜索等,如图2-3-8所示。

对需要保存的中间表进行命名,如图2-3-9所示。

第二种,关联中间表。在数据管理页面创建中间表,在数据管理模块中点击右上角“操作”按钮,选择“创建中间表”,如图2-3-10所示;

点击创建中间表,先选择数据源,如图2-3-11所示,可以是单张数据表,也可以使有关联关系的多张表格。

根据选择的数据表双击左侧列名,将其选中显示在页面中间,点击“中间表名”对该中间表进行命名,如图2-3-12所示。

点击“操作”按钮,再点击保存,创建该中间表。创建成功后页面会刷新回到数据管理页面,如图2-3-13所示。

在数据管理页面展示两种方法创建的中间表,如图2-3-14所示,可以看到不同方法创建的中间表表类型显示不同。

2.4 多表整合 在进行数据分析的时候,经常会出现需要多张表格联立使用的情况,因此就需要在系统中添加表与表之间的关联关系。
在数据管理页面,点击一张表格,在弹出的表格信息中选择“关联关系”,如图2-4-1所示。

点击“添加关联”,在弹出的具体的操作界面,如图2-4-2所示,填写关联名、维度表、连接类型、连接筛选(选填)、源列、目标列的内容。
维度表就是指要与该表建立关联关系的数据表,点击维度表的输入框会出现系统里现有的前7张表格,可以直接选择或者输入表名选择自己想要关联的表;连接类型分为三种:内连接、左连接及右连接;源列和目标列就是关联两张表格的数据列。


关联好的两张表格也会在数据管理页面通过两个红色小箭头标注,如图2-4-4所示。

关联结束后,需要到“模型构建”处点击重新构建模型,如图2-4-5所示。

当模型构建的状态变成SUCCESS,进度为100%时,代表模型构建成功,如图2-4-6所示。

关联好的多张表格可以在搜索页面进行多表联立搜索,如图2-4-7所示。
用户在创建表关联关系的时候,表关联不能出现回路和闭环。
