热点:

    单数据集分页实现层式报表

      [   原创  ]   作者:
    收藏文章 暂无评论

    Access数据库为例,通过FineReport填报报表,说明如何利用行式引擎对需分页SQL的数据库实现层次化报表展示。

    1、 应对策略

    2、 对于支持行式引擎的MySQL数据库,若启用行式引擎,系统将自动为层式报表生成分页SQL。例如,新建一个源自MySQL的数据集ds1,其基础查询语句会由程序自动扩展,添加分页逻辑以优化数据展示与加载效率。

    3、 查询订单明细表中的所有数据信息。

    4、 若未设置分页SQL但启用行式引擎,预览报表时系统会自动将原SQL转换为分页查询语句以获取单页数据。

    5、 从订单明细表中查询数据,先取出前60条记录,再从中筛选出行号大于30的记录。该操作通过嵌套查询实现:最内层获取全部订单明细,中间层限制结果集不超过60行,最外层则过滤掉前30行,最终返回第31至第60行的数据,实现分页查询效果。

    6、 若数据库如Access等不支持直接生成分页SQL,则需手动编写相应的分页查询语句。

    7、 操作流程

    8、 以FRDemo中的Access为例,介绍其分页查询的编写方法与实现步骤。

    9、 创建新数据集

    10、 创建数据集ds1,查询订单明细表中的所有数据。

    11、 加入分页查询的SQL代码

    12、 在数据查询界面选择分页功能,输入相应SQL语句进行编辑操作。

    13、 完整SQL语句如下所示

    14、 从订单明细表中按订单ID升序排列,取第\${fr_pagenumber}页数据,每页\${fr_pagesize}条记录。

    15、 根据订单ID降序排列,从子查询结果中限制输出指定数量的记录。

    16、 }

    17、 按订单ID升序排列,从子查询结果中选取数据。

    18、 将上述代码用于分页SQL面板时,需移除末尾注释,并确保语句中三个ORDER BY均保留,不可遗漏。

    19、 分页查询SQL注解说明

    20、 当当前页码等于总记录数减一除以每页大小后加一的整数部分时,显示剩余的记录数;否则显示每页设定的数量。即最后一页展示不足一页的余下数据,其余页均按固定数量呈现,确保分页数据显示合理且完整,避免信息遗漏或重复。

    21、 若是最后一页,则取剩余行数;否则取每页设定的行数,示例中每页显示30行。

    22、 fr_pagenumber 表示当前查看的页码,例如预览第2页时,其值为2。

    23、 fr_rowcount:表示当前数据集中记录的总数量。

    24、 fr_pagesize用于设定行式引擎每页显示的行数,本例中设置为30行。

    25、 预览报表时,系统根据设定的分页参数生成相应的数据库查询。当页面编号为2、每页显示30条数据时,前端请求会触发后台将原始SQL语句转换为对应分页条件的查询指令,从而获取第二页的数据内容并展示。

    26、 从订单明细表中,先按订单ID升序取前60条记录,再从中按订单ID降序取前30条,最后将这30条记录按订单ID升序排列并返回结果。该查询通过多次排序与分页操作,逐步筛选出符合特定顺序要求的数据子集,最终输出一个经过多重排序逻辑处理后的有序结果集。整个过程实现了对原始数据的逐层过滤与重新排序。

    27、 当预览到第3页时,fr_pagenumber值为3,SQL语句随之相应变化。

    28、 从订单明细表中先按订单ID升序取出前90条记录,再从中按订单ID降序选取前30条,最后将这30条数据按订单ID升序排列返回。该查询通过多层排序与限制操作,实现了对特定范围数据的精确提取与顺序调整,适用于需要分阶段筛选并重新排序的场景。

    29、 当预览到最后一页时,若剩余数据不足30行,SQL语句将如何调整以适应实际数据量?

    30、 当总行数为100,每页显示30行时,共分4页。浏览到最后一页(即第4页)时,当前页码为4,系统会根据该页码、每页大小及总行数,将原始SQL语句自动重写,以实现仅查询并展示第四页所需的数据内容。

    31、 从订单明细表中先按订单ID升序取出前90条记录,再从中按订单ID降序选取最后10条,最终将这10条结果按订单ID升序排列并返回。该查询通过多层排序与限制操作,实现了对特定范围数据的精确提取与顺序调整,适用于获取接近中间段但偏前部分的数据样本,常用于分页或数据分析场景。

    32、 报表主体布局设计

    33、 把数据列从数据集拖到单元格里。

    34、 行式引擎配置

    35、 进入模板设置,选择报表引擎属性,启用行式引擎执行报表,并勾选按页运算分段执行,每页记录数保持默认30条,具体设置所示。

    36、 查看效果

    37、 点击分页预览,效果所示

    soft.zol.com.cn true https://soft.zol.com.cn/1194/11943478.html report 3340 以Access数据库为例,通过FineReport填报报表,说明如何利用行式引擎对需分页SQL的数据库实现层次化报表展示。 1、 应对策略 2、 对于支持行式引擎的MySQL数据库,若启用行式引擎,系统将自动为层式报表生成分页SQL。例如,新建一个源自MySQL的数据集ds1,其基础查询语句...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    文档式报表SQLDOC

    更新时间:2009年01月07日

    用户评分:0 | 0人点评

    软件类型:共享软件

    软件语言:简体中文

    文档式报表SQLDOC
    • 更新时间:2009年01月07日
    • 软件大小:31.3MB
    • 软件分类:办公应用
    • 语言种类:简体中文
    • 软件评级:0 人点评