spagobi系列文章-07 自定义报表(图表)

1 QBEEngine

简介:QBE引擎是一个通过自定义表、字段及查询条件的形式来生成图表或者报表的工具。它是通过可视化配置的形式来自定义SQL,此时的SQL是隐式的。

1.1 先决条件

要使用QBE引擎需要先定义数据表的表结构和说明。下边以一个订单汇总表为例进行介绍。

假设订单汇总表表结构如下:

spagobi系列文章-07 自定义报表(图表)_第1张图片

8-1

订单汇总表包括订单所属部门,平台,订单的日期,金额,数量等字段。

1. 创建该表的java bean类和hibernate配置文件

例如:

spagobi系列文章-07 自定义报表(图表)_第2张图片

8-2

spagobi系列文章-07 自定义报表(图表)_第3张图片

8-3

此步骤可以通过myeclipse或者jboss hibernate tools自动生成。

2. 创建对该表字段的描述文件

例如:

spagobi系列文章-07 自定义报表(图表)_第4张图片8-4

这里既有对表的描述也有对表中字段的描述。其中:XXXX.label为表或字段标签名,XXXX.tooltip为表或者字段的帮助文字,或者对字段含义的说明文字。

3. 创建对该表字段配置文件

例如:

spagobi系列文章-07 自定义报表(图表)_第5张图片

8-5

其中XXXX.visible为表或字段是否可见,XXXX.type为表或字段的类型(dimension一般指表,attribute一般指表中的字段),XXXX.position是指表或字段展示位置。是否可视和展示位置用于在设计器中显示使用。

以上三步完成后,如下图:

spagobi系列文章-07 自定义报表(图表)_第6张图片

8-6

然后将代码和配置文件打包为datamart.jar(必须为此文件名)并放置到

Tomcat_home\resources\qbe\datamarts\XXXX\下。

1.2 配置文档(document)

配置如下图:

spagobi系列文章-07 自定义报表(图表)_第7张图片

8-7

其中引擎必须选为qbeEngine,在datamart Model类型下。

这时选择的数据源必须定义了方言:

spagobi系列文章-07 自定义报表(图表)_第8张图片

8-8

这时也可以在document中定义查询参数。Document的模板文件如下:

spagobi系列文章-07 自定义报表(图表)_第9张图片

8-9

DATAMART name="wansindw"定义的是datamart.jar文件所在的目录名称

Tomcat_home\resources\qbe\datamarts\ wansindw \

Table定义的是表的java bean类名全路径。Filter中定义的是过滤条件。其中p{}中的内容必须与document中定义参数的url相一致。

1.3 报表定义

Document定义完成后如果没有定义参数的话,执行document后会打开如下页面:

spagobi系列文章-07 自定义报表(图表)_第10张图片

8-10

如果左侧树中显示了定义的数据表名称则说明配置成功,否则请仔细检查以上步骤是否配置正确。

设计器页面中包含四个tab。分别是:

查询,定义查询语句功能。

结果,展示查询语句的执行结果。

工作表设计,定义工作表。

工作表预览,预览定义的工作表。

在查询页面中包含两大区域:

图解:展示已定义的数据表及表结构内容。

查询编辑器:查询语句的定义页面。

查询编辑器页面包含三部分:

选择字段:选择需要查询语句的字段。

过滤条件子句:定义查询语句的where条件子句。

Having子句:定义查询语句的having条件子句。

假设我们要按照日期汇总订单数量功能,则需要做以下步骤:

1. 选择订单数量、订单日期字段,并拖动到选择字段区域

spagobi系列文章-07 自定义报表(图表)_第11张图片

8-11

2. 定义订单数量的操作方式为sum,订单日期的操作方式为分组和排序,如下图:

spagobi系列文章-07 自定义报表(图表)_第12张图片

8-12

3. 如果需要其他过滤条件,可以在过滤条件子句中增加条件,如下图:

8-13

4. Having子句也可以定义如下:

spagobi系列文章-07 自定义报表(图表)_第13张图片

8-14

以上步骤完成后可以点击右上角的执行按钮查看查询结果:

spagobi系列文章-07 自定义报表(图表)_第14张图片

8-15

执行后会自动打开结果页面。某一个查询语句定义完成后也可以保存下来,以供下次查询时快速打开,点击右上角保存按钮保存:

8-16

输入保存名称等信息:

spagobi系列文章-07 自定义报表(图表)_第15张图片

8-17

查询语句定义完成后接着定义工作表,打开工作表设计tab,如下图:

spagobi系列文章-07 自定义报表(图表)_第16张图片

8-18

刚进入页面时左上角的选择字段区域是空的,这时只需要点击选择字段后边的刷新按钮,自定义的查询语句中的字段就会显示出来了。

在这个页面中我们可以定义多种报表或者图表,包括柱状图、饼状图、曲线图,table和类型olappivot列表。

假设我们想定义一个曲线图,这时需要断则曲线图图标-line chart,并拖动到右侧大片空白区域。然后拖动选择字段栏中的两个字段到曲线图中的横纵坐标上。注意,曲线图的纵坐标必须是可以计算的数值型。如下图:

spagobi系列文章-07 自定义报表(图表)_第17张图片

8-19

这时也可以选择曲线图的样式,曲线颜色等配置。

这一步骤完成后点击上方的“工作表预览”tab就可以看到曲线图的实际内容了,如下图:

spagobi系列文章-07 自定义报表(图表)_第18张图片

8-20

在工作表中我们可以定义多个工作表,这些个工作表类似excelsheet。在工作表设计页面的下方点击

8-21

加号增加工作表。

这样工作表就设计完成后。如果以后想快速的访问这个工作表,可以点击上方的保存图标(8-16),填写相关信息

spagobi系列文章-07 自定义报表(图表)_第19张图片

8-22

后就可以在选择的目录下创建一个WorkSheet引擎的document了。这样直接点击这个自动创建的document就可以快速访问工作表了。

自定义工作表建议:

1. 工作表使用的数据表尽量只有一个表,避免关联多表,减轻系统负担。

2. 自定义工作表功能还较弱,不能实现较复杂的报表只适合简单图表的定义。

你可能感兴趣的:(自定义)