Cognos 11.0快速开发指南 Ⅰ
1. 概述
Cognos Analysics 11,是IBM在Cognos BI 10的版本基础上,吸取业界流行的敏捷BI理念,强化了自助式分析的一款强大BI开发平台工具。其官方文档内容丰富,但是较为冗长,新手应对项目过程中客户的进度要求稍显捉襟见肘。作为官方文档的一个补充,我们结合在川高系统大数据分析与应用平台项目过程中的实践,撰写了此文。便于有其他类似需求的项目团队及同事,作为快速参考。
本文档主要针对初次使用,且对cognos整体和开发流程不太了解的人员,能帮助他们快速上手制作报表。本文将以制作一张普通的固定报表的顺序来编写文档,制作报表的整体步骤分为两步:一是数据建模,二是报表制作;
其中数据建模可以有多种方式,如:framework Manager,Cube designer,BI 中的数据模块等,这里采用传统的framework Manager设计。
2. 启动cognos服务
在建模和开发报表之前都需要向启动cognos的服务,步骤如下:
(1)打开IBM Cognos 配置器
(2)点击工具栏中的启动按钮,然后等待,这里等待时间较长,大概要话费5-10分钟,等看到工具中的启动按钮变成了灰色,则表示已经启动成功。
(3)记录下Cognos的访问地址,在报表开发的时候会用到。即:在资源管理器中选择环境,如下图中,Gateway URI后面的地址就是Cognos的访问地址了:
3. framework manager
这是一个cognos中传统的数据建模工具,可以处理复杂的关系模型,他的整体流程主要是:
(1)创建“数据源”的链接,这里使用MySQL数据库
(2)从数据源中选中要使用的数据表来建立“元数据”
(3)建立数据表之间的关系模型
(4)根据报表页面创建业务视图
(5)根据业务需要创建维度视图(非必须)
(6)创建“数据包”并发布
3.1. 更新jdbc的jar包
由于cognos 11中默认没有MySQL的jdbc驱动,所以这里讲解一下jdbc驱动的部署方法,下载mysql-connector-java-5.1.42-bin.jar文件,然后将文件复制到Cognos的安装目录下的drivers目录下,如下图:
3.2. 操作步骤
3.2.1. 打开framework Manager工具
首先在开始菜单中找到并打开framework Manager工具,如下图:
3.2.2. 新建项目
(1)在“菜单”中点击“新建”来创建一个项目,如下图:
(2)选择模型的语言,如下图:
(3)选择“数据源”向导,默认选择“数据源”选项,如下图:
3.2.3. 新建数据源
(1)新建“数据源”,如下图:
(2)为数据源命名后点击下一步
(3)选择JDBC连接类型,下一步
(4)选择MySQL数据库类型,配置jdbc url 内容,将
jdbc:mysql://<host>:<port>/<database-name>?noAccessToProcedureBodies=true
替换成具体的url,如jdbc:mysql://139.224.42.182:3306/scdp_ciimp?noAccessToProcedureBodies=true
(5)配置数据库登陆凭证
(6)测试连接连接成功后关闭测试页面,点击下一步
(7)点击完成即可。
关闭数据源向导后,选择刚刚建立好的数据源,即可进行下一步操作
3.2.4. 选择数据表
(1)选择需要使用的表、视图、存储过程,这里选用了如下几张表:
“bis_company,bis_road,rpm_r_accident_probability,mem_r_full_percentage”
(2)点击下一步,取消“使用组件和外键”的选项,否则会创建默认的关系,如果数据库表未创建外键则会报错,最后点击“导入”
(3)导入完成后在模型设计界面就能看到导入的相关表了。
3.2.5. 创建名称空间
“名称空间”是用来将模型归类的,有点类似于代码中的命名空间,通常我们创建三个名称空间:“元数据”、“业务视图”、“维度视图”,这里的名称可以自定义,这里只是推荐的一种归类方式,如下图:
将刚才导入的表全部拖入“元数据”中,如下图:
3.2.6. 模型结构概览
整个模型分为四个部分:模型、数据源、参数映射、数据包,整体结构如下,图中的红色框部分对应了这四个部分:
3.2.7. 自定义sql查询主题(可选)
这里科普一下,默认我们导入的“表、视图、存储过程”在模型中都以“查询主题”的方式呈现,所以你可以理解“查询主题”为一个数据集合。
“查询主题”分为三类:模型、数据源、存储过程,如下图:
(1)这里如果要自定义sql语句的查询主题,我们需要选择“数据源”类型的“查询主题”,默认从数据库中导入的就是“数据源”类型的。
(2)双击需要修改sql的数据源查询主题,结构如下:
(3)用户可以选择插入多个数据源,然后将多个数据源进行sql的拼接,如上图,我这里采用了两个数据源“mysql1、mysql内网”,如下图:
(4)编写好sql后,需要进行验证并测试,如下图:
(5)用户也可以做“计算”或者“过滤”的操作,其实和我们自己写sql语句是一样的原理
3.2.8. 创建关系
创建表与表之间的关系,操作步骤如下:
(1)双击“元数据”名称空间,在中间显示区域切换为“图”显示,如下图:
(2)点击右侧的工具栏中创建“链接”图标,然后在图中鼠标左键点击需要创建关系的表不放,拖放到需要创建关联的表中,打开关系配置框,如:rpm_r_accident_probability <--> bis_road
(3)创建好关系后,用户点击验证我错误后,可以切换到“关系SQL”选项中查看拼接的SQL语句,如下图:
(4)最后查看整体关系图,如下:
3.2.9. 创建业务视图
在创建好表关系之后,我们可以针对自己的业务,从“元数据”的表中选择有用的字段,放入业务视图的“查询主题”中,这里主要的工作就是将数据空表的字段映射为中文,并且创建一些计算字段。
(1)在“业务视图”右键,创建“查询主题”,在弹出框架,输入名称和类型选择“模型”,如下图:
(2)将左侧“元数据”中的查询项目拖入到右侧框中,如下图:
(3)你也可以自己添加一个“项目”,点击右下角的“添加”,打开“计算定义”,用户可以自定义字段的处理,如下图,我们进行了字段的计数处理:
(4)最后点击“验证”查看有没有配置错误,则完成,如下图:
(5)最后点击整个“查询主题”的验证,如果无问题,则完成。
3.2.10. 创建维度视图(可选)
“维度视图”是由“常规维度”和“度量维度”组成;默认是将“业务视图”中的信息组织在一个层级内(从详细程度的最高级别到最低级别)
l 常规维度
时间(包含:年、季度、月、周、天),销售人员(包含:国家/地区、城市、人员名称)
l 度量维度
度量维度主要是表示度量的数字,如价格,年龄之类
如下图:
“维度视图”不是必须创建的,只有当您希望在 IBM Cognos Analysis Studio 中使用关系数据源、在报表中启用向上钻取和向下钻取或访问工作室中的成员函数时,必须对关系数据源按维度建模。
稳定的关系模型是维度模型的基础。
3.2.10.1.1. 创建方式
用户可以在“业务视图”右键添加“度量维度、常规维度”对象
3.2.10.1.2. 常规维度
创建“常规维度”时,在“层级框”中前两层默认不能绑定数据源,只做当前维度的名称,从第三层开始定义维度字段,如下图中的“年”层级,用户可以在左侧模型中选择需要的“年份”字段,如果该字段不为字符串,则可以使用cast函数进行转换
并且在“角色”字段选择“_businessKey(业务键)、_memberCaption(标题)”
3.2.10.1.3. 度量维度
创建“度量维度”用户可以将某类“度量”归为一类,如:库存(包含:期初盘存、发运数量、增加、期末盘存等),如下图:
3.2.11. 创建数据源
在创建好模型后,我们就可以将整个模型打包为“数据包”,并发布到cognos中,进行报表的开发。步骤如下:
(1)在“数据源”选项上右键,创建“数据包”,如下图:
(2)在弹出的数据框中,输入名称,点击下一步,如下图:
(3)然后配置“名称空间”的可选项,一般将“元数据”设置为隐藏,点击下一步,如下图:
(4)点击下一步,选择函数包,默认是全部选择,直接点击完成,然后提示是否发布数据包,点击“是”,进行数据包发布,如下图:
(5)可以选择数据包发布的位置,和数据包的版本,处理好后,一直点击“下一步”,直到发布,在发布时会进行数据包的验证,如果有错误,就不能发布数据包。
3.2.11.1. 修改数据包位置报错解决方案
当用户不能修改cognos中的发布位置时,是因为当前用户没有权限访问Cognos中的文件夹位置,所以请在“项目-登陆身份”界面登陆管理员账号
Cognos 11.0快速开发指南 Ⅰ的更多相关文章
- Cognos 11.0快速开发指南 Ⅱ
1. 创建报表 在创建好数据源之后,我们就可以创建报表了,报表的开发是浏览器中完成的,这里我选用了chrome浏览器,在地址栏输入:http://localhost:80/ibmcognos ( ...
- Rookey.Frame v1.0快速开发平台-用户登录
上一次介绍的了Rookey.Frame v1.0快速开发平台的整体功能,接下来会对各个功能点进行解析说明,今天给大家介绍下系统登录功能. 用户登录 系统中基本上所有功能页面都是从后台代码拼接后返回的, ...
- TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN
原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...
- 【Android】11.0 UI开发(二)——列表控件ListView的简单实现1
************************ 转载请注明出处:https://www.cnblogs.com/xiaofu007/p/10342462.html ***************** ...
- Rookey.Frame v1.0快速开发平台-整体介绍
Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...
- TensorFlow 2.0高效开发指南
Effective TensorFlow 2.0 为使TensorFLow用户更高效,TensorFlow 2.0中进行了多出更改.TensorFlow 2.0删除了篇冗余API,使API更加一致(统 ...
- Odoo 8.0 实施开发指南 第一版 试读
试读地址: http://share.weiyun.com/4f83964db87e022c7c210abe6b5e782f 如有错误,欢迎指正.
- [CI]CodeIgniter快速开发指南
---------------------------------------------------------------------------------------------------- ...
- Jdon框架开发指南
Jdon框架快速开发指南 开发主要步骤如下: JdonFramework6.0以上两步开发见这里. 快速配置指南 新增/查询/修改/删除(CRUD); 批量查询和分页显示 本文Step By Step ...
随机推荐
- Oracle 11g RAC 修改各类IP地址
Oracle 11g RAC 修改各类IP地址 首先,我们都知道Oracle 11g RAC中的IP主要有:Public IP.VIP.SCAN VIP.Private IP这几种. 一般这类改IP地 ...
- RabbitMQ入门-初识RabbitMQ
初识RabbitMQ 要说RabbitMQ,我们不得不先说下AMQP.AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面 ...
- 【原创】08. easyui form控件,回调参数存在后缀 audio controls="controls" style="display: none;"></audio>
版本: jQuery EasyUI 1.4.3 springmvc 3.2.6 谷歌浏览器,内核版本 chrome 56.0.2924.87 360急速浏览器,内核版本 chrome 50.0.266 ...
- [Usaco2007 Open]Fliptile 翻格子游戏
[Usaco2007 Open]Fliptile 翻格子游戏 题目 Farmer John knows that an intellectually satisfied cow is a happy ...
- 单页面应用(spa)引入百度地图(Cannot read property 'dc' of undefined)
难点介绍 引入百度地图的时候,用原生的获取不到dom节点. ( var mapEle = document.getElementById(testApi): var map = new BMap.Ma ...
- mysql获取当前时间,前一天,后一天
负责的项目中,使用的是mysql数据库,页面上要显示当天所注册人数的数量,获取当前的年月日,我使用的是 CURDATE(), 错误的sql语句 eg:SELECT COUNT(*) FROM USER ...
- [HNOI2013]游走 期望+高斯消元
纪念首道期望题(虽说绿豆蛙的归宿才是,但是我打的深搜总觉得不正规). 我们求出每条边的期望经过次数,然后排序,经过多的序号小,经过少的序号大,这样就可以保证最后的值最小. 对于每一条边的期望经过次数, ...
- sqlite 的基本使用2
sqlite的运算符有好几种,算术运算符,比较运算符,逻辑运算符,位运算符 1,算术运算符 算术运算符主要有 + - * . % (取余)这个很简单,举一个例子就行,要达到这样的效果需要格式化行输出 ...
- CSS中设置height:100%无效的解决方案
在网页设计中有时会设置某个DIV或者TABLE的高度自适应,即元素的高度充满父元素的高度.一般使用设置CSS height:100%来实现.但是当元素层级嵌套比较深的时候,设置该属性并不能得到应有的 ...
- 神器Vim之命令介绍
前天晚上看casa直播项目的组件化,不仅了解了如何快速对现有项目进行组件化,以及进一步不断迭代,实现完全组件化的过程:同时,也被casa的vim技能的熟练程度所震撼.早就听说,vim是unix系统上文 ...