如何解决用SQL数据源取数据的分析报表无法分页的问题

2090
0

yangm 数据达人Lv4

发表于2020-7-16 10:41

楼主
本帖最后由 yangm 于 2020-7-16 10:42 编辑

描述

在刷新SQL数据取数的分析报表时发现设置分析表属性中的"显示行数"为100行时,即使SQL数据源中SQL算出来的数据有10000行,也只能显示100行,而且找不到地方翻页,那是为什么呢?
原因

使用sql数据源的表计算时不会求总行数,此时应该使用模糊分页。SQL数据源分页,要使用totalcount数据源,在SQL数据源下建立一个totalcount的数据源,在这里返回每页的行数 。
解决步骤

1.     原SQL数据不动
2.    添加一个新的数据源,命名为:totalcount
语句为上面SQL数据源算出结果的总行数,如:
  
select count(*) from DM_CBBM
  
3.     最后还是要设置了一下报表属性中的"每页行数"。
设置名为【totalcount】的SQL数据源,并设置每页显示行数:

于是乎,分页就有了:

潜规则
如果数据源的行数大于等于totalcount数据源中得出的行数,最后一页会按照报表属性中设置的行数显示出数据,而不会截断。
【例举】
1、如果写totalcount数据源的语句为:
select count(* ) from 表名,并且设置报表属性中的显示行数为7,完全正确分页9页,第9页只显示4行数据(7行*8页)+4行=60行
2、写totalcount数据源的语句为:
select 60 from dual,并且设置报表属性中的显示行数为7,结果同1
3、写totalcount数据源的语句为:
select 30 from dual,并且设置报表属性中的显示行数为7,结果分页5页,第5页显示了7行数据,也就是实际显示了5页*7行=35行数据。





最近看过此主题的会员

v笑向前走

esen_4PZ0WJGUKU

chestnut

0个回答

只看楼主

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号