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快速开发指南 Ⅰ的更多相关文章

  1. Cognos 11.0快速开发指南 Ⅱ

    1.    创建报表 在创建好数据源之后,我们就可以创建报表了,报表的开发是浏览器中完成的,这里我选用了chrome浏览器,在地址栏输入:http://localhost:80/ibmcognos ( ...

  2. Rookey.Frame v1.0快速开发平台-用户登录

    上一次介绍的了Rookey.Frame v1.0快速开发平台的整体功能,接下来会对各个功能点进行解析说明,今天给大家介绍下系统登录功能. 用户登录 系统中基本上所有功能页面都是从后台代码拼接后返回的, ...

  3. TensorFlow 2.0 快速入门指南 | iBooker·ApacheCN

    原文:TensorFlow 2.0 Quick Start Guide 协议:CC BY-NC-SA 4.0 自豪地采用谷歌翻译 不要担心自己的形象,只关心如何实现目标.--<原则>,生活 ...

  4. 【Android】11.0 UI开发(二)——列表控件ListView的简单实现1

    ************************ 转载请注明出处:https://www.cnblogs.com/xiaofu007/p/10342462.html ***************** ...

  5. Rookey.Frame v1.0快速开发平台-整体介绍

    Rookey.Frame v1.0是一套基于.NET MVC的极速开发框架,支持简单逻辑模块零代码编程.支持二次开发,具有高扩展性.高复用性.高伸缩性. 框架特点 (1)简单逻辑模块实现零代码编程,通 ...

  6. TensorFlow 2.0高效开发指南

    Effective TensorFlow 2.0 为使TensorFLow用户更高效,TensorFlow 2.0中进行了多出更改.TensorFlow 2.0删除了篇冗余API,使API更加一致(统 ...

  7. Odoo 8.0 实施开发指南 第一版 试读

    试读地址: http://share.weiyun.com/4f83964db87e022c7c210abe6b5e782f 如有错误,欢迎指正.

  8. [CI]CodeIgniter快速开发指南

    ---------------------------------------------------------------------------------------------------- ...

  9. Jdon框架开发指南

    Jdon框架快速开发指南 开发主要步骤如下: JdonFramework6.0以上两步开发见这里. 快速配置指南 新增/查询/修改/删除(CRUD); 批量查询和分页显示 本文Step By Step ...

随机推荐

  1. (转)java反射机制及简单工厂模式

    第一步,定义一个接口类 package factory.face; /** * 接口,为了保证返回的对象可以统一用 Product接受 * @author Administrator */ publi ...

  2. js一些重点知识总结(一)

    1.javaScript与java的区别?(从它们的解释,运行等方面说)   第一,javascript是基于对象的,而java是面向对象,即java是一种真正的面向对象的语言,即使是开发简单的程序, ...

  3. javascript对象的创建--相对java 怎样去创建了"类"i以及实例化对象

    由于javascript没有java那么多基本类型,同时也没有提供class这个东西,那么我们想实现javascript的对象创建应该怎么办呢,我简单地从w3c提供的课件中提取了一下几种方法: 一.工 ...

  4. Python+Selenium+webdriver环境搭建(windows)以及相关资源下载链接

    今天记录一下测试小菜鸟alter在测试入门的一点关于python+Selenium+webdriver环境搭建的经历以及资源分享.欢迎交流学习,批评指正. 一.Python的下载与安装 1.pytho ...

  5. .NET MVC与三层架构

    虽然接触了两者有一段时间了,但是有时还是会混淆概念,在此处不打算说明二者的区别,因为二者都是架构模式,并且也有一定的共存度,在实际开发中,严格区分意义不大.基于最近涉及到这部分知识就在复习下,编程过程 ...

  6. 教你上传本地代码到github

    最近想起学Git,并且注册了Github. 将新创建的本地代码上传到github上,这里简单的记录一下,我喜欢使用命令行,这里全用命令行来实现,不了解Git命令的可以去了解下. 第一步:建立git仓库 ...

  7. hdu 6045 Is Derek lying?(思维推导)

    Problem Description Derek and Alfia are good friends.Derek is Chinese,and Alfia is Austrian.This sum ...

  8. nopcommerce数据库字典

    http://www.xcode.me/open/document/nopcommercedatadict.html

  9. selenium + ChromeDriver

    Selenium是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.而对于爬虫来说,使用Selenium操控浏览器来爬取网上的数据那么肯定是爬虫中的杀 ...

  10. 虚拟机安装linux系统不能上网解决方法

    周末闲来无事,用虚拟机安装了centos6.5系统,安装成功后发现不能连接网络,然后我就一脸蒙蔽了,无奈之下,只能百度查找问题,幸运的是,我还真找到了解决的方法,根据教程一步步操作,成功了!为了避免以 ...