多数据源报表性能优化方案

润乾报表支持在同一报表内使用不同类型的数据源,包括 RDB、TXT 文本、Excel、JSON、HTTP、Hadoop、mongodb 等。润乾报表中使用混合数据源不必依赖第三方程序(如 JAVA),只须使用内置的脚本(数据集)即可完成,下面通过例子来说明使用过程。

业务系统中将订单信息存储到 JSON 格式的文件中,报表查询时需要读取 JSON 文件与数据库表(维表)进行联合查询。这里以查询某个发货时间段内所有订单的客户信息为例。

orders.json 部分内容如下:

[

    {

        "订单ID": "10248",

        "订单编号": [

            {

                "订单ID": "10248",

                "产品ID": "5",

                "单价": 12,

                "折扣": 0,

                "数量": 1

            }

        ],

        "客户ID": "VINET",

        "发货日期": "2000-07-16",

        "到货日期": "1996-08-01",

        "运货费": 32.38

    },

……

    {

        "订单ID": "10400",

        "客户ID": "EASTC",

        "发货日期": "1997-01-16",

        "到货日期": "1997-01-29",

        "运货费": 83.93

    }

]

报表设计过程如下:

1、连接数据源

在报表设计器中连接数据源。

imagepng

2、设置报表参数

新建报表,并设置报表参数(发货起止日期)。

imagepng

3、设置数据集

在数据集设置窗口选择“脚本数据集”,在脚本读取 json 文件,并和数据库表完成关联查询。

imagepng

代码说明:

A1:读取订单信息 JSON 格式文件;

A2:根据发货日期范围过滤数据;

A3:查询数据库客户表信息;

A4:根据客户 ID 关联文件和数据表,完成混合计算;

A5:根据关联结果新建结果集,并通过 A6 返回给报表。

4、编辑报表表达式

根据脚本数据集返回的结果,编写如下报表表达式,完成报表制作。

imagepng

报表展现结果如下:

imagepng

更多性能优化相关问题请查看:性能优化相关问题分类导航