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 ...
随机推荐
- Java内存区域与对象创建过程
一.java内存区域 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有的区域则 ...
- readelf相关命令
-a --all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I. -h --file-header 显示elf文件开始的文件头信息. -l --program-heade ...
- Python操作Zip文件
Python操作Zip文件 需要使用到zipfile模块 读取Zip文件 随便一个zip文件,我这里用了bb.zip,就是一个文件夹bb,里面有个文件aa.txt. import zipfile # ...
- 5. Leetcode 448. Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
- 双向循环链表(C语言描述)(三)
代码清单 // linkedlist.h #ifndef __LINKEDLIST_H__ #define __LINKEDLIST_H__ #include <assert.h> #in ...
- cmd命令行进入DOS方式编译运行C语言程序实现字符串转换
需求:输入一个字符串(长度小于50),然后过滤掉所有的非数字字符,得到由数字字符组成的字符串,将其转化为double型结果输出(4位小数). 源程序: #include<stdio.h>i ...
- H5入门——HTML部分
一.HTML的基本构成 1.<!DOCTYPE html>文档类型声明 <!--HTML的文档类型声明.声明这个文件是HTML5文件,让浏览器按照HTML5准备进行解析显示.文档类型 ...
- CocoaPods详解之----制作篇【转】
Cocoapods是非常好用的一个iOS依赖管理工具,使用它可以方便的管理和更新项目中所使用到的第三方库,以及将自己的项目中的公共组件交由它去管理.Cocoapods的介绍及优点本文就不在赘述,我开始 ...
- Java 架构师之路(1)
本人也是coding很多年,虽然很失败,但也总算有点失败的心得,不过我在中国,大多数程序员都是像我一样,在一直走着弯路.如果想成为一个架构师,就必须走正确的路,否则离目标越来越远,正在辛苦工作的程序员 ...
- java网络编程实现两端聊天
网络编程的三要素: ip地址:唯一标识网络上的每一台计算机 端口号:计算机中应用的标号(代表一个应用程序),0-1024系统使用或者保留端口,有效端口0-65535(short) 通信协议:通信的规则 ...