1 定义
数据查询分析器的目标,是提供用户可自定义的、多维度的观察和分析目标数据的工具。实现用户对业务数据进行动态查询、分组、筛选、汇总的需求。
数据查询分析器,实际上是一个简化版本的BI应用。所以,他也需要定义ETL(数据的抽取-转换-装载)过程。在这里,我们设计为通过数据模型文件来定义这一过程,用户可以通过选择不同的数据模型来加载所需要观察的数据,然后通过模型中定义的切片方向(观察维度),来对数据进行进一步的处理和操作。数据模型文件可以采用类XML的格式。
2 功能目标
数据查询分析器的所有功能的实现,都需要预先根据用户的需要,定义出一个或多个数据模型文件。
2.1 加载数据
要查询和分析数据,必须要先从数据库加载目标数据。在这一阶段,需要在数据模型中定义一个或多个数据源,告诉系统需要在什么位置读取什么数据,有哪些字段(变量)。这个阶段是数据的抽取过程,需要定义的内容如下:
² 数据源地址
² 库名称
² 登录名
² 登录密码
² SQL语句
输入参数:
² 机构代码
² 开始日期
² 截至日期
2.2 多维度切片
在用户加载了数据之后,需要确定的是以什么维度来展示数据,以及这个维度中展示那些数据。这个时候,用户需要的不仅是从数据库中获取的原始数据,更多的是需要一些加工过的数据。
所以,在这一阶段,需要在数据模型中定义一个或多个维度的数据切片。并在每个数据切片中定义相应的数据列,以及数据列的格式和数据公式。格式包括数据类型和对齐方式,数据类型有文本、数值、日期、金额、百分比、布尔值。这个阶段是数据的转换过程需定义的内容如下:
² 切片1名称
ü 列1名称;格式;数据公式
ü 列2名称;格式;数据公式
ü 列n名称;格式;数据公式
² 切片2名称
ü ……
² 切片n名称
ü ……
2.3 数据筛选
筛选只能在切片的数据列中进行,所以只需在切片的数据列定义中,加入该列筛选方式的定义即可。一般有两种筛选方式:
² 枚举出数据列值的所有值,然后通过勾选来确定显示/隐藏行数据;
² 通过设定运算符和比较值,譬如设定只显示金额大于10000的行数据,一般适用于数值类型的列。
需定义的内容如下:
² 切片1名称
ü 列1名称;格式;数据公式;筛选方式
ü 列2名称;格式;数据公式;筛选方式
ü 列n名称;格式;数据公式;筛选方式
2.4 数据排序
用户可在标题行对列数据进行排序操作。
2.5 数据多级分组
用户可以按列内容进行分组操作,以便更加清晰地对行数据进行比较分析。按照设定分组的优先顺序,用户可以对数据进行多级分组。
2.6 多级汇总
用户如果对数据进行了分组操作,那么每个级别的每个分组中的数值列,都应该具有可选的汇总值、平均值、最大值、最小值。如果用户选择了显示这些值,系统将在该分组的最后自动插入所选的汇总行、平均值行等行数据。
如用户未对数据分组,则在最后插入所选的汇总行、平均值行等行数据。