软件开发

【转载】Cognos Report Studio默认参数

Cognos Report Studio默认参数传递设计案例

编者:wengr

wengr@163.com

简述

在Cognos报表设计中,参数传递有很多种:第一种是:在钻取时,把当前参数值传递给指定接收报表,接收报表参数类型与传递报表参数类型必须一致;第二种是:在其他页面嵌套Cognos报表链接地址,在地址之后追加参数配置,达到参数接收;第三种是:在提示页做好预处理,利用HTML、JS语言编程。

下面针对第三种情况,进行解说,怎样才能达到默认值传递。一般来说,报表默认值都是针对日期而设置,取当前最近值。

日期JS表达式定义

       因Cognos Report Studio另一个强大特点,可以嵌入HTML、JS脚本,但目前版本不支持JSP、Java类。毕竟JSP代码也不能随意存放在Report Studio运行,当然CognosReport Studio不是什么报表样式都可以定制,有自身的缺陷,这还需要大量工作者去研发。对报表样式美化,Cognos不是强项,支持OLAP分析,是它的特点。怎样调用JS代码,可以通过案例分析讲解。

表达式内容如下:init()定义一个函数



[td=1,1,568]



MyPrompt 为值提示下拉框对象,在局部使用都是唯一名称。

MyPrompt.length-1  取倒数第一位成员。

提示控件配置

       在提示页面,增加一个下拉值提示控件,配置日期控件属性,在属性中,设置日期下拉框隐藏,在运行时,就不会看见下拉框。增加一个HTML项目,编辑内容,复制以上代码。

通过图,可以看出设置思路。(图略)

多个默认参数配置

       配置方式与前面设置日期默认参数是一致,注意每个提示值必须有自己唯一的对象名称。

如日期对象为:MyPrompt

  机构对象就不能为 :MyPrompt 可以定义其他名称。如设置参数为MMPrompt



[td=1,1,568]



对不同的参数取第一默认值,可以事先在建查询设置好,按照需求业务对成员进行排序,提示值只有运行报表时才用到,之后的参数接收都是在报表页面选项中完成,在提示页下拉框完全可以独立创建查询,内容可以是一个或者两个以上,即可。

       配置内容参照图:(图略) 根据报表需要,可以设置多个默认条件。

或者在同一个HTML脚本增加两个控件获取代码:



[td=1,1,568]



以上是三段代码,控制不同的控件。对控件代码进行说明:

document.forms["formWarpRequest_NS_"]._oLstChoicesMGPrompt[3].selected = "true",是针对固定查询项目,如用户属性,客户等级等维度成员基本保持不变,方便控制。

document.forms["formWarpRequest_NS_"]._oLstChoicesMyPrompt[document.forms["formWarpRequest_NS_"]._oLstChoicesMyPrompt.length-1].selected = "true";

适合做动态维度成员,根据权限判断成员变化,再指定一个默认成员,根据排序确定。

附加:

Cognos怎样去掉value prompt前两项的方法:javascript代码如下:



[td=1,1,568]



在Report Studio开发界面,增加HTML项目添加到下拉控件,编辑javascript代码。其中:Del_Val必须指定一个控件,配置方法同上面MyPrompt参数。多个控件使用不同的 Del_Val名称替换。

注意:  

本方法我个人不推荐使用,仅供参考。有一个问题存在,当你多次选择提交后,value prompt前两项还是会出现。对于小数据量的报表,在3秒种内刷出数据,就不会出现这种情况。但可以结合以上JS代码完善提示页参数传值,更好解决日期参数传值:


[td=1,1,568]





      特别说明一点,Cognos对JavaScript支持不是很友好,Cognos是通过XML语言解释生成报表,至于稳不稳定还说不准,但做了提示页偶尔运行无结果(白屏现象),至于第一次出现在什么时候就很难说了,有可能测试是就出现,也有可能是在并发用户下出现。今天,高层领导在讨论白屏问题,IBM技术总监在电话给我上了一堂课,也说了一大堆中英文混合,大致意思是明白了。

      总结几句话:第一、规划好BI架构体系,部署易扩展高效率应用环境。第二、设计上要清楚工具本身特性,该用ROLAP和MOLAP就一定用,管理报表与操作型报表要根据需求规划。第三,数据库层面规划数据集市,按照业务需求确定汇总数据,减小报表执行SQL语句解释执行时间。

原文地址如下:

http://blog.sina.com.cn/s/blog_658743c00100jb5r.html

参与13

11同行回答

超级民工超级民工商业智能工程师GOOGLE
先收藏下,慢慢研究,经常遇到这问题显示全部
先收藏下,慢慢研究,经常遇到这问题收起
软件开发 · 2015-05-29
浏览997
tjwcjtjwcj软件实施顾问飞创
不错啊,多谢了显示全部
不错啊,多谢了收起
软件开发 · 2013-09-13
浏览1133
haijun2100haijun2100软件开发工程师cy
学习下,呵呵显示全部
学习下,呵呵收起
软件开发 · 2013-07-29
浏览1166
zhuiying0608zhuiying0608其它暂无
先收藏下,慢慢研究,经常遇到这问题显示全部
先收藏下,慢慢研究,经常遇到这问题收起
互联网服务 · 2012-07-05
浏览1198
138052306a138052306a数据仓库架构设计师qwerr
LZ很厉害啊~~~ 慢慢学显示全部
LZ很厉害啊~~~ 慢慢学收起
金融其它 · 2012-05-21
浏览1172
tianmin757tianmin757软件开发工程师IBM
看不太懂哦显示全部
看不太懂哦收起
互联网服务 · 2012-05-20
浏览1151
uperuper软件开发工程师IBM
好东西啊。。。显示全部
好东西啊。。。收起
互联网服务 · 2012-04-16
浏览1167
fgordonfgordon软件开发工程师恒生电子
学习中。。。。。:)显示全部
学习中。。。。。:)收起
互联网服务 · 2012-04-01
浏览1157
maqiangalan666maqiangalan666软件开发工程师IT公司
看的不太懂  感觉挺强大的显示全部
看的不太懂  感觉挺强大的收起
互联网服务 · 2011-11-24
浏览1161
low2000low2000软件开发工程师WW
恩,很详细的介绍,谢谢楼主显示全部
恩,很详细的介绍,谢谢楼主收起
互联网服务 · 2011-11-22
浏览1150

提问者

cp123456
项目经理gs
擅长领域: 大数据商业智能

问题状态

  • 发布时间:2011-11-06
  • 关注会员:2 人
  • 问题浏览:7954
  • 最近回答:2015-05-29
  • X社区推广