Report Studio动态参数设计--宏变量调用

Report Studio动态参数设计--宏变量调用
参数变量设计介绍
        Cognos8.3 Report Studio设计动态报表,利用工具本身特性,有两种方式,在Report Studio和Framework Manager设计实现。两者实现的方式看似一样,本质是有差异。Report Studio报表设计是基于Framework Manager封装好的结构模型,而Framework Manager是最接近底层模型设计,对多种约束限制,包括权限控制在内。以Framework Manager设计为例,简单描述工具设计特性。

设计报表时,重要是对业务逻辑熟悉程度,同时考虑数据组织方式;对前端设计报表样式有很大的关系,并不是所有复杂报表都可以用一种模式来实现,也不是大多数报表一定严格按照业务部门提出的需求样式实现,与业务需求部门沟通,调整报表样式,一张拆分多张,共享其他业务部门指标口径,目的是统一指标口径,数据一致性。

报表宏变量设计与演示
        Framework Manager设计逻辑模型封装时,首先考虑参数是怎么传递,在前端触发一个事件,调用相应的子查询,返回数据到页面。举例说明:
        机构维度层级表:V_D_ORG_LVL_DIM
        事实表或者分析汇总表:TA_CLM_TDM_ANLY
        建立关联关系:1:N
动态参数设计:
修改V_D_ORG_LVL_DIM抽取数据脚本,利用Cognos自带宏变量,接受外界参数,得到返回结果。
表达如下:
Select  *  from         [BIDM].V_D_ORG_LVL_DIM
where  V_D_ORG_LVL_DIM.ORG_LVL_ID=#prompt('org_lvl_id','integer')#

在设计中,会看到“#prompt('org_lvl_id','integer')#”,这是利用Cognos的宏变量,其中的表达式,可以编辑。
如:prompt提示输入函数描述:
prompt ( prompt_name , datatype , defaultText , text , queryItem , trailing_text )
提示用户输入单个值。只需 prompt_name 自变量。未指定时,数据类型默认为字符串。指定默认文本时,提示是可选的。指定文本后,文本会在值前面。可以指定 queryItem 以利用查询项目的“Prompt Info”属性。指定 trailing_text 后,trailing_text 会附加到值的后面。
示例:
select . . .
where COUNTRY_MULTILINGUAL.COUNTRY_CODE  > #prompt('Starting CountryCode', 'integer','10')#
结果:选择。. . 其中,COUNTRY_MULTILINGUAL.COUNTRY_CODE > 10

新创建的查询编辑宏变量,进行测试,点击“Test Sample”,弹出提示值窗口。
如下图:
输入参数值,返回想要的结果。
在前端页面设计时,Framework Manager提示的参数会在前端体现,类似于自定义参数。
当添加一个提示控件时,选择使用现有参数,下拉列表会找到模型提示参数项。

这种设计思路,有利于复杂报表调用,如:过程调用,模型复杂脚本调用等。都是动态数据抽取,根据前端选择参数,控制后端数据执行。
注意:Cognos对普通过程调用,实现不是很理想,不能真正返回一个结果集到“Query Subject Definition”中,事实上,过程返回的结果可以是一条记录或者一个结果集,关键对存储过程怎么去设计。另外一种设计思路,是把过程中的代码调整统计语句,放置在Framework Manager查询模块中,但Cognos本身不是友好支持所有数据库语法,对特殊函数不支持,自身函数有限。简单SQL语法可以满足,重要工作放在ETL来处理。

过程调用:在数据源添加一个过程,这个过程包含输入参数和输出参数。输出参数是用来返回结果。具体设计参照《Report Studio动态参数设计 之 存储过程调用
参与29

24同行回答

收下以后用的着显示全部
收下以后用的着收起
2009-09-30
浏览735
andaanda其它vipabc
顶了收起
IT咨询服务 · 2009-09-27
浏览747
kopforeverkopforever软件开发工程师bf
谢谢分享先下了显示全部
谢谢分享
先下了收起
互联网服务 · 2009-09-24
浏览763
zhangxiliangzhangxiliang工程师太阳茂森金属制造一厂
關注一下。显示全部
關注一下。收起
IT分销/经销 · 2009-09-16
浏览760
这么好的东西 怎么没人顶。。。。。。。显示全部
这么好的东西 怎么没人顶。。。。。。。收起
2009-09-16
浏览720
寻信飞海寻信飞海BI开发工程师北京幻方朗睿南京分公司
学习了,以前不知道,谢谢显示全部
学习了,以前不知道,谢谢收起
IT分销/经销 · 2013-05-23
浏览952
59531505953150软件开发工程师aaaaa
收下以后用的着显示全部
收下以后用的着收起
互联网服务 · 2013-05-23
浏览941
wngbobwngbob软件开发工程师IBM GDC
顶一下,不错。显示全部
顶一下,不错。收起
互联网服务 · 2013-03-28
浏览982
远方远方其它isoftstone
学习了了显示全部
学习了了收起
IT分销/经销 · 2011-04-06
浏览944
wbc1986wbc1986BI开发工程师华夏人寿
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶!!显示全部
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶!!收起
金融其它 · 2011-03-23
浏览941

提问者

西溪南
软件开发工程师666666
擅长领域: 商业智能大数据数据库

相关问题

相关资料

问题状态

  • 发布时间:2009-09-15
  • 关注会员:0 人
  • 问题浏览:10854
  • 最近回答:2013-05-23
  • X社区推广