关联分析

阅读(2558) 标签: 关联分析, 多表分析,

多维分析中不仅支持单表分析,还可以对多表做关联分析。通过对元数据做高级设计,在多维分析中用外键属性化、同维表等同化等方法,将多表关联透明化。用户可随意拖拽需要查询的维度指标进行分析。

多层分析

从上图可以看到数据库中有订单客户城市三张表,订单与客户使用客户ID做关联,客户与城市表使用城市编码做关联。通过这样的表关系,可以很容易的统计不同城市中客户的订单信息,但如果业务人员想要按年月日层级来观察不同时期的客户签单情况。该如何实现呢?

步骤一:

本例以产品自带的dqldemo数据源为例,打开DQL元数据层设计器,点击菜单“服务”à“启动示例数据库”,“系统”à“控制台”会输出“数据库已启动”信息,表示dqldemo数据源所需连接的HSQL数据库已启动。

 

步骤二:

打开DQL元数据层设计器,在菜单栏中通过系统>数据源或者点击,连接数据源:

步骤三:

新建元数据文件将数据库中订单和客户表导入到元数据中,这里我们将订单表客户表城市表导入元数据中

在工具栏中点击导入数据库表

在弹出窗口中选择订单表,点击确定。

导入数据表的元数据文件,为订单表客户表城市表设置主键:

步骤四:

点击,添加年日三个假表(假表的详细介绍可参见:高级元数据设计-假表层函数)。

步骤五:

为订单表中的签单日期和客户ID添加外键。

为客户表中的城市编码添加外键。

制作好的元数据文件保存为后缀为lmd的文件。

步骤六:

定义字典文件:

打开前一步做好的元数据文件,系统菜单下选择【生成字典】,一个字典文件就自动生成了。

在字典文件里设置城市维的显示列名称为城市表的城市名称:

制作好的字典文件保存为后缀为dct的文件。

更多关于语义层中元数据和字典文件的细节可参考语义层小节。

步骤七:

通过服务à发布并浏览 DQL 分组分析菜单打开发布对话框,选择前面制作好的元数据文件,将元数据文件发布到URL指定的报表DQL Server服务中,发布前需保证要使用的报表DQL Server服务为启动状态(报表DQL Server服务的启动可参考启动报表DQL Server服务小节):

关于报表DQL Server独立部署的详解可参见报表DQL服务器部署集成小节。

点击【发布】按钮,后台程序会自动启动内置的 TOMCAT服务,并打开分组分析页面:

 

我们将拖拽到左表头,城市编码拖拽到上表头,中间数据区对订单金额求和客户名称计数,这样一来,按年月层级来观察不同时期的客户签单情况就展示出来了。

 

分表

本节以分表为例,讲述在分析控件中对分表的使用。

步骤一:连接数据源

本例以产品自带的demo数据源为例,点击菜单“服务”à“启动示例数据库”,控制台显示“数据库已启动”信息,表示demo数据源所需连接的HSQL数据库已启动。

步骤二:设计分表元数据

新建一个元数据类型的文件

新建分表,并选中“回款单2011”及“回款单2012

编辑分表表名为“回款单”,并且选中“回款单ID”作为主键

在分区标签下,分段字段名称选中“回款单ID”,编辑段界为“100

保存文件为test.lmd。(详细请见:高级元数据设计-分表

步骤三:将test.lmd部署到报表DQL Server服务中,启动报表DQL Server服务

元数据的部署可参考报表DQL Server部署小节。

步骤四:启动服务器

润乾报表嵌入了内置的TOMCAT打开DQL元数据层设计器,通过工具栏最右方的启动服务器按钮启动服务器,也可以通过菜单“服务”“启动TOMCAT”启动。

步骤五:访问多维分析页面

点击,选择“DQL明细查询”,进入分析页面:

 

点击右上角的【数据集】,在数据库查询标签下输入DQL语句,点击按钮【重新查询数据,缓存入文件】,将查询结果缓存入临时文件,点击【保存】。

最终使用的语句如下所示:

DQLselect 回款单ID,回款日期,金额 from 回款单 where 回款单ID < 90

SQLSELECT T_1."回款单ID" "回款单ID",T_1."回款日期" "回款日期",T_1."金额" "金额" FROM (SELECT * from "回款单2011") T_1 WHERE T_1."回款单ID"<90

由于筛选字段为分段字段,所以查询时根据段界的设定,只查询了分区“回款单2011”中回款单ID小于90的数据。

数据集创建好后,下面就可以新建报表了。

点击【添加报表】,选中刚刚设置好的数据集【fileQuery】,输入报表名称,点击【确定】

将字段拖拽到数据展示区显示

可以看到报表中所有数据的回款单ID均小于90,并且都是2011年中的数据。