需求分析:

需求概述:从数据源中获取所需的数据。

核心需求:获取数据,在我方产品提供单位进行“存储”

核心设计要素数据源:来自外部的数据存储介质、设计连接:与数据源的对接方式、设计基础表:用户来存放原始数据内容的表(可以理解为ODS层)

功能流程

与数据源连接—获取数据源内容—将数据内容中所需部分添加到BI中—以基础表的形式存放

Brainstorming:

数据抽取需求思维导图在上面的思考框架中,先从流程上分成两部分。

连接到数据源

与我们所需要使用的数据源建立“连接”后,才能从对应的数据源里获取到数据,当然这个连接是宏观意义上的,对于文件类型的数据源,如excel/csv等文件,使用“连接”一词也并无不妥。深入到流程的这一部分,通过需求分层去拆解需求,基本需求:其一为能够完成连接,其二为连接多种,需要为不同的数据源提供可填写的参数配置或上传方式,使产品可以与数据源建立有效的连接,衍生需求:建立连接后需要监控连接的情况,如本地文件是否存在,数据库连接是否异常,在此基础上需要将用户的连接配置保存下来,避免用户下次使用时,重复进行配置操作。

从数据源获取数据

连接数据源完成后,我们需要从数据源中获取数据,同样从需求分层出发,

基础需求需要我们可以获取到数据源的数据内容,对于excel等静态文件而言,内容可能是一张表(当然多个sheet的情况同样意味着多表),对于数据库类型而言,一个库通常对应着对表。

从获取方式上需要考虑,对于静态文件如何解析,数据库的列表如何获取 show tables (这里需要把流程进一步拆分,流程更加体系化)

获取到的内容如何预览,存放,需要对应设计存放单位

衍生需求:衍生需求针对于基础功能的两部分进行扩展,如何针对预览内容做高效的处理,如何将数据源的内容根据业务进行管理。

核心流程

与数据源连接—获取数据源内容—将数据内容中所需部分添加到BI中—以基础表的形式存放

产品功能调研

FineBI功能与需求对照

连接到数据源—配置数据连接功能

功能层级与入口:管理系统—数据连接—数据连接管理/服务器数据集

图片

功能结构:新建数据连接—选择数据

数据源连接管理功能结构需求与功能的分析

1.支持的数据源类型

连接到数据库

FineBi提供支持多种数据库连接

JDBC类:定义了一套操作所有关系型数据库的规则(接口)

支持的类型:mysql、DB2、Oracle,Hadoop Hive

连接****到文件(来自本地/服务器)

支持解析文件,获取数据

支持的类型:excel/XML

从数据源获取数据

基本需求:能够从数据源中获取数据,支持不同的方式,提供表预览

解析与查询:解析—从文件从解析内容,查询—从库中查询表(仅是添加表)

功能点

添加数据库表:从连接的库中选择所需的table,功能点:数据库列表数据库表列表,添加功能

图片

添加SQL表:与“添加数据库表”方式大致相同,只不过数据库表不做直接展示,而是通过SQL语句进行添加,功能点:SQL代码块

图片

添加EXCEl数据集:EXCEL数据集通常指csv、xlsx格式,存放多个sheet的文件,多个sheet可以理解为库中的多个表,用户可以选择所需的表添加。

功能点:sheet表识别/列类型识别/增量上传

生成基础表

核心需求:最为数据表存放的最小单位,是数据存放的基本要素,之后对于数据的操作都是针对一个或多个基础表来实现

基本结构:二维表,以行列的形式呈现,与原始数据相同。

作用:向上用户可以使用基础表,进行加工生成新的数据表,即自助数据表,用来实际进行业务分析,向下方便用户对于原始进行追溯

数据源—基础数据表—自助数据表

变量内容:可以执行一些基础的数据加工,功能点:行列转换,列内容预处理

基础表的管理:为了使原始数据更方便的来使用,可以设计文件夹,多层的管理方式,本质是一个树状目录,用来存放我们的基础表内容。