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://
替换成具体的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中的文件夹位置,所以请在“项目-登陆身份”界面登陆管理员账号