献给所有cognos新手 关于 : 基于维度(cube)建立的报表的过滤条件参数 解决OP-ERR-0217 问题
来源:互联网 发布:云计算的生活实例 编辑:程序博客网 时间:2024/04/27 18:52
献给所有cognos新手 关于 : 基于维度(cube)建立的报表的过滤条件参数 解决OP-ERR-021 问题
若您已经建立好过滤条件,只要求解决error,请略过第一部分.
第一部分 :建立维度的过滤条件
首先使用Report Studio 打开要加过滤条件的报表.
1点击查询资源管理器,要加过滤条件的查询.
2 展开要加过滤条件的维度,这里选择的是区划key
3
将这树状拖入到右边的数据项中,插入层级选择所有层级.
4
将数据项拖到明细过滤器中,写表达式定义
添加参数过滤,验证一下即可.
第二部分与前台交互(url方式)
若要和前台交互,需以下几个步骤
说明:
访问的url包括以下url最基本的地址,加上特定的参数.
http://<server-name>/cognos8/cgi-bin/cognos.cgi?b_action=xts.run&m=portal/launch.xts
若要查看report运行的html需要加以下参数:
1ui.tool=CognosViewer
ui.tool 打开文件的方式,可选CognosViewer/AnalysisStudio
2 ui.object= /content/package[@name='pk_ds_yjzs__6']/report[@name='yjzs_rs_2']
ui.object 对象的搜索路径 (可以在cognos门户->IBM Cognos内容->报表所在文件夹->报表属性->查看搜索路径 ID URL 中找到)具体步骤如下:
点击cognos内容
找到报表所在文件夹
点击报表操作中的第一个图标查看属性
点击搜索路径 id 和URL
复制搜索路径
3 ui.action=run
Ui.action 对文件的操作方式 run 运行报表,还有其他属性这里不再继续赘述 .
4 p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]
P_qh 指的是传入的参数,与上面表达式中定义的区划相对应,(*千万记得传入的参数需要以p_开头)可以是一个也可以是多个.记得用&分开.
因为是基于维度的过滤条件,所以普通的传值,例如P_qh=330100 cognos不会识别,会报错,意外类型的参数值:
OP-ERR-0217
它只能识别维度内的member,所以,要加的参数应该是这种格式的:
[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]
它是怎么来的呢? 打开查询,选择加过滤条件的维度数状结构
在这里成员中的每一项都是可以加到过滤条件中的,查看的方法,右键点击 [区划key],属性,成员唯一名称复制下来
也可以选择 [区划key]下级的其他成员,例如衢州,
5 run.prompt=false
Run.prompt 是否显示提示页面,默认为true显示,这里选为false不显示 .
完整url实例:(*参数名称区分大小写切记)
http://192.168.1.103/cognos10/cgi-bin/cognos.cgi?b_action=xts.run&m=portal/launch.xts&ui.tool=CognosViewer&ui.object=
/content/package[@name='pk_ds_yjzs__6']/report[@name='yjzs_rs_2']&ui.action=run&p_rylx=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]&run.prompt=false
这里运行报表有一个常见的问题,就是乱码的问题,如果url中有中文字符串,需要进行转码.(记得只对参数值转码即可,千万别把整个url都进行转码了,转换的编码使用utf-8即可)
Java中使用java.net.URLEncode.encode()转码即可,其他的还没有试过,有别的事例希望大家share一下.
除了url也可以使用表单实现
附 :
当过滤条件可能为多值的时候
只需要在url中多传参数即可
&p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330100]
&p_qh=[ds_yjzs__6].[区划key].[区划key].[区划key1]->:[PC].[@MEMBER].[330300]
上面这个问题困扰了我很长时间,在网上提问,搜索也找不到答案,最后贝克汉姆的一个回答帖子给我了启示.
现在将解决办法记录下来,希望这个问题不要再困扰更多像我一样的新手们.
- 献给所有cognos新手 关于 : 基于维度(cube)建立的报表的过滤条件参数 解决OP-ERR-0217 问题
- 献给所有的黑客新手
- 《Apache Kylin对基于相同字段值的多个维度cube建立的数据处理》
- cognos维度层次过滤汇总
- 关于参数过滤条件
- 金蝶Bos的报表跟过滤条件
- 关于打印星号的问题 解决下 献给大政哥
- Cognos error DPR-ERR-2079错误问题 解决
- 关于多分项条件组合问题的解决
- 如何将Cognos报表中所使用的的参数显示在报表中
- 谨献给所有洗GC/SC的人们,cube charm教程
- 献给所有的女性
- 献给所有的“日本人”
- 关于多维数组的维度判定问题
- as 2008里关于父子维度的建立
- Cognos 如何在cube中设置维度用户权限
- 润乾报表关于当输入条件为空取出所有数据的几种用法
- 润乾报表关于当输入条件为空取出所有数据的几种用法
- Oracle和SQLServer的“临时表”应用
- python logging (python log 日志详细)
- Linux基本命令操作备注
- WII中文说明书
- Linux下定制QTableWidget
- 献给所有cognos新手 关于 : 基于维度(cube)建立的报表的过滤条件参数 解决OP-ERR-0217 问题
- 20110603 C语言重温
- gem install 时报错,no such file to load -- zlib
- Oracle 备份并删除以前一定时间的备份
- QHeaderView的樣式設定(以QTableWidget的header為例)
- [新闻] 免费体验主机安全检查服务——微软安心服务,为您的IT环境保驾护航
- sql datetime 转换成str
- 接口和抽象类的区别
- 什么是笛卡尔积