多层分析

阅读(781) 标签: 多层分析,

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

步骤一:

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

 

步骤二:

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

步骤三:

新建元数据文件将数据库中订单表客户表城市表导入元数据中

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

在弹出窗口中选择“订单表”客户表城市表”,点击【确定】。

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

步骤四:

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

步骤五:

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

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

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

步骤六:

定义字典文件:

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

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

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

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

步骤七:

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

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

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

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