帆软报表多行多条数据写入表_如何利用分析报表FineReport实现多数据集层式报表...

如何利用分析报表

FineReport

实现多数据集层式报表

1.

问题描述

若报表使用的数据量是上百万条的话,

觉得报表展现的速度慢,

可以使用层式报表来提

高报表展现速度。

但由层式报表章节可以得知,

层式报表必须是单数据集,

若是多数据集的

模板且数据量又很大,想要提高报表的查询速度要如何实现呢?

2.

实现思路

在定义数据集时通过使用数据库本身的行序号或者使用数据库函数生成行序号(即行

号)并且在

where

条件中通过页码参数使得行号在一定范围内显示,点击自定义的上一页

下一页按钮时重新传入页码参数取出相应的数据。

注:

SQL

Server2000

无法生成行号,因此需要定义存储过程实现分页查询,以下具体介

Access

实现分页的步骤,

SQL

Server2005

以及

Oracle

数据库实现分页的步骤有一点区别,

以下会详细介绍。

3.

Access

分页示例

3.1

新建模板

新建模板

mutipage.cpt

,为了加快展示速度,我们可以使用分页查询,获取每个产品的

详细信息并计算产品对应的订单中的应付金额,

因此添加数据集时查询

SQL

语句为

select

.

产品

ID,

产品名称

,

供应商

ID

,

类别

ID,

单位数量

,

产品

.

单价

,

产品

.

库存量

,

产品

.

订购

,sum(

应付金额

)

as

应付款项

from

产品

,

订单

,

订单明细

where

产品

.

产品

ID=

订单明细

.

产品

ID

and

订单明细

.

订单

ID=

订单

.

订单

ID

and

产品

.

产品

ID

between

10*(${page}-1)+1

and

10*${page}

group

by

产品

.

产品

ID,

产品名称

,

供应商

ID

,

类别

ID,

单位数量

,

产品

.

单价

,

.

库存量

,

产品

.

订购量

order

by

产品

.

产品

ID

,设置参数

page

的默认值为

1

,首次看到的

是第一页,只查询出第

1~20

条记录;若

page

参数为

2

时,查询出第

21~40

条记录,即第二

页内容。

注:

这边定义报表每页显示

10

条数据,

ds1

的查询

SQL

一次只取

10

条数据,

从而加

快报表展示速度。

3.2

自定义上一页、下一页按钮

使用分页查询后,报表需要根据

page

参数查询出行号在一定范围内的数据,当点击下

一页时,

page

需要加

1

并传入报表查询出后

10

条记录;

点击上一页时,

page

需要减

1

并传

入报表查询出前

10

条记录。而报表内置的上一页下一页按钮无法做这些操作,因此需要自

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值