汇总表引用

阅读(1776) 标签: 基础表, 汇总表,

为了能更高效的查询,报表DQL Server元数据文件中提供了对基础表的设置。如果某张表是历史汇总表,那么可以在元数据文件汇总对这张表定义基础表属性,定义其从哪一张基础表汇总而来。当用户对基础表做分组汇总查询,DQL基于基础表进行分组汇总时,DQL元数据层会智能寻找汇总表,看哪个汇总表和DQL的汇总级别最接近,然后智能地把DQL解析成从这个汇总表查出。

场景描述:

举例来说,数据库中有支付单支付供应商月汇总支付供应商汇总支付月汇总四张表。支付单是基础表,其他三张表是支付单的汇总表。当用户的查询DQL是聚合到月时,系统会自动从支付月汇总表里查出;当聚合到供应商时,由于满足条件的有两个汇总表,因此会选择记录数少的汇总表,如果记录数相同,则会自动从符合条件的第一个汇总表中查出。

基础表和汇总表需要在报表DQL Server元数据文件中定义关联关系。先对支付供应商月汇总支付供应商汇总支付月汇总表分别添加支付单为基础表,添加完成后,查看支付单基础表时汇总表会自动列出,如下图所示:

支付单基础表

关于基础表与汇总表在元数据的设置,具体可参见基础表汇总表小节。

 

汇总表引用:

了解了基础表和汇总表在报表DQL Server元数据中的关联关系后,接下来就是学习在查询分析控件中对汇总表的使用了,缺省汇总表在查询分析控件中不显示。

当用户的查询语句基于基础表进行分组汇总时,DQL元数据层会智能寻找汇总表,看哪个汇总表和DQL的汇总级别最接近,然后智能地把DQL解析成从这个汇总表查出。

下面以产品自带的报表DQL Server为例,介绍汇总表在DQL类型数据集中的引用。

步骤一:启动报表DQL Server

步骤二:启动TOMCAT

步骤三:访问分析页面,添加DQL类型数据集

创建数据集时DQL元数据层会自动从已有的支付供应商月汇总的数据中进一步汇总,即执行以下SQLSELECT CAST(T_1_1."年月"/100 AS INT) "",SUM(T_1_1."支付总额") "支付总额" FROM "支付供应商月汇总" T_1_1 GROUP BY CAST(T_1_1."年月"/100 AS INT),通过对基础表的设定,可以充分利用事先汇总完成的数据,以提高效率。

步骤四:添加报表,选择需要使用的数据集。

报表创建完成后,就可以任意拖拽想要查询的字段到指标区做报表分析了。