cognos生成图表自动翻页

实现方式:
1、在查询中新建查询项runningcount,使用runningcount函数动态计算行数。
公式为:running-count ([产品])-1 ,减1的目的见后文。

2、在查询中新建查询项Groupnum,该查询项为将页面集分类依据。?page1?为每页显示行数参数,Floor函数为取除后的整数。如每页显示10行即?page1?= 10,那么第十行使用runningcount函数的结果为10,除以10等于1。那么第一页将只会显示9行,因为前9行的runningcount函数结果除以10,使用floor函数后的结果为0。-1的目的是为了让第十行显示在第一页。
公式为:floor([runningcount]/ ?page1?)

3、创建页面集,页面集同样使用查询1,并且设置GroupNum为分组属性。
4、使用同一查询创建表格和图形报表,并在图形报表属性中设置主要/明细关系,将同一查询的GroupNum进行关联。虽然是同一查询,如不关联报表执行时会提示错误。
5、 在表格属性中设置每页函数为1000(默认20行,无法查看分页效果)。执行报表,输入每页显示的行数。通过Cognos页面自带的上/下翻页按钮实现页面切换。(行号和runningcount可以不显示。)
BTW:
该实现方式为一次查询,翻页无需查询数据库。
如需达到指定页,也可以通过设置参数 GroupNum = ?参数? 实现到达指定页功能,但需要每次查询数据库。实现方式直接通过设置过滤器实现,不用设置页面集。
参与3

2同行回答

Cognos_菜Cognos_菜软件开发工程师高伟达软件股份有限公司
回复 1# 欧阳锋      楼主,当我的数据源(FM中设置为cognos)的时候是可以实现分页。 但是当我的数据源(FM中设置Native)的时候就会提示: UDA-SQL-0460 本地处理期间出现一般例外。UDA-EE-0094 The operation "equal" is invalid for the following combinat...显示全部
回复 1# 欧阳锋


     楼主,当我的数据源(FM中设置为cognos)的时候是可以实现分页。
但是当我的数据源(FM中设置Native)的时候就会提示:
UDA-SQL-0460 本地处理期间出现一般例外。UDA-EE-0094 The operation "equal" is invalid for the following combination of data types: "integer" and "character"RSV-SRV-0042
  应该是数据类型的事。我把runningcount的类型转换也提示错误:
to_number用于本地,不能用于内置函数。或许其有一个参数不支持。

怎么解决啊?收起
互联网服务 · 2013-04-17
浏览365
tianyazhuomatianyazhuoma数据仓库工程师东华软件
顶一个,太厉害了 ···显示全部
顶一个,太厉害了 ···收起
政府机关 · 2011-05-26
浏览362

提问者

相关问题

相关资料

问题状态

  • 发布时间:2011-04-01
  • 关注会员:1 人
  • 问题浏览:3655
  • 最近回答:2013-04-17
  • X社区推广