Cognos 开发总结
Contents
Cognos 开发总结
清单报表
流程
- 后台(表结构,存储过程);
- cpf模型
原生开发
-
筛选
-
普通筛选
建议使用
当前查询的数据项
(如下图),便于维护与移植。 -
树状提示
只有使用
常规维度
(如下图)的字段,树状提示机构
才能正常加载。
-
金额类筛选
做如下设置,避免数据结果异常
首先,去除
金额类字段
的聚合函数
属性,如下图:然后,在期对应的筛选中,选择
应用程序
=>自动聚合之后
-
-
列表
- 列表中多余的字段不能用
删除
剔除,从列表删除会同时从查询删除。用剪切
剔除。 - 列表
- 列表中多余的字段不能用
-
权限
清单权限控制,通过模型
过滤器
实现,如下图:示例代码:
[bi].[R_PREMMAINDOC].[COMCODE] = #sq($account.personalInfo.userName)# OR [bi].[R_PREMMAINDOC].[COUNTYCODE] = #sq($account.personalInfo.userName)# OR [bi].[R_PREMMAINDOC].[CITYCODE] = #sq($account.personalInfo.userName)# OR [bi].[R_PREMMAINDOC].[PRVNCCODE] = #sq($account.personalInfo.userName)# OR #sq($account.personalInfo.userName)#='01'
cognos服务中 用户名即所属机构,故通过
userName
匹配
自定义开发
JS
清单内调用的JS全部迁移到报表外部,在清单筛选末尾的HTML项目
中统一调用。
-
翻页与页码
更改清单报表默认翻页样式
代码详见:
\webapps\p2pd\report_js\page_control.js
-
日期批处理
dateAllTo(参数)
webapps\p2pd\report_js\date_control.js
置空:参数为空 或者 参数=0 ;
置昨天:参数=1
使用方法:
在浏览器控制台,切换目标文档到Cognos报表页,执行dateAllTo(参数);
。
Chrome 切换目标文档:
Firefox 切换目标文档:
若 未切换,JS未加载,将报错如下:
CSS
-
树状提示遮挡
解决 “多个树状提示,纵向排列,展开时互相遮挡” 的问题
webcontent\skins\corporate\viewer\common.css
#upper_index .clsTreePane{z-index:100;} /*第1个树状提示*/ #upper_index_2 .clsTreePane{z-index:99;} /*第2个树状提示*/ #upper_index_3 .clsTreePane{z-index:98;} /*第3个树状提示*/ /*可以拓展,数值递减*/
PS:更改 JS、CSS 后,客户端浏览器需要清理缓存,才能生效。
多维报表
流程
-
后台(表结构,存储过程);
-
mdl模型
1). iqd文件(封装sql);
2). mdl中导入iqd
3). 构建
维度
、度量
- 普通维度
- 日期维度
-
普通度量
直接拖拽生成
-
计算度量
-
添加指标描述
-
生成、发布mdc
进阶
-
抑制不展示的层级
-
权限控制
D:\YPIC_CGNS\transformer\YPIC\权限脚本\全险种cubeAuth.mdl
刷新权限脚本,需修改:
- OpenMDL
- PowerCubeCustomViewListUpdate
- SaveMDL
当机构维度发生结构性变化时,需要刷新维度缓存,再刷权限才能生效
-
清理维度缓存
-
脚本文件
D:\YPIC_CGNS\transformer\YPIC\权限脚本\全险种CleanHouse.mdl
-
手动清理
需要清理维度缓存的几种情况:
- 维度信息发生更改;
- 模型迁移后,需要彻底清理旧的维度缓存;
- ……
-
服务配置
-
win服务器
-
定时重启
echo [%date% %time%]=重启90服务>> log.log shutdown /r /t 10 /f timeout 15 > NUL echo [%date% %time%]=重启失败>> log.log
-
远程重启
net use \\ip passwd /user:administrator #注意ip前的"\\" shutdown /r /t 10 /m ip # /r 重启,/t 时间(秒) /m 远程主机 /f 强制……
-
跨服务器传输文件
目前win集群间的文件同步方式如下:
- 主节点 通过iis启用ftp服务;
- 从节点 配置wget定时下载主节点的文件。
-
-
Cognos服务
迁移升级
以 DEV ==> UAT 为例,Cognos升级前,要求后台数据库已升级完毕。
清单
DEV复制模型
==> DEV导出报表
==> UAT导入报表
==> UAT更新模型
==> UAT发包
操作详情:
导出的文件存储在Cognos服务安装目录ibm\cognos\c10_64\deployment
下,toUAT-CW.zip
。将此文件包复制到UATCognos服务安装目录ibm\cognos\c10_64\deployment
下,并导入UAT的Cognos(操作参考导出)。
接下来,更新模型:
最后,重发数据包。
多维
- 准备要升级的
iqd
数据源文件、mdl
模型文件; - 在模型中修改数据源的用户身份;
- 清除所有维度的缓存(CleanHouse)
- 生成cube(生成cube前,会自动生成新的维度图)
Author NickHoo
LastMod 2018-07-14