Cognos实战入门

2018-11-14 13:02

Cognos实战入门

下面是对Cognos使用的一些简单工作总结,希望这些文字对Cognos初学者有帮助!

1. Cognos体系结构

在Cognos的产品体系中,主要包括以下组件: 1 Netscape Directory Server

功能:为Upfront Server,Enterprise Server,Transformer,Powerplay, Impromptu提供安全验证来源。

2 Cognos Powerplay Enterprise Server 功能:提供Cube或报表的Web访问方式 3 Cognos Powerplay Transform Server 功能:设计Cube模型和生成Cube。 4 Cognos PowerPlay

功能:OLAP报表与分析工具(C/S方式分析与展现) 5 Cognos Impromptu

功能:数据查询和报表制作工具(我们主要用它为Transform提供数据源) 6 Impromptu Web Reports

功能:Web方式的动态查询报表管理服务

2. Cognos安装要点

通常情况下,只要严格按照安装文档安装和配置,安装可以顺利完成。但有时候由于粗心或对文档理解的差异会导致安装配置不当而无法使用。一般情况下,安装完成后如果出现无法访问的情况,考虑以下因素:

1 安装PPES时选择语言时要注意选择双字节语言,一般选择Locales for Simplified Chinese 或者Locales for other Languages.,如果语言选择不恰当,安装完成后配置将会无法完成。

2 安装Netscape Directory 过程中选择端口号时要注意,我成功安装过的是第一个端口号(Directory Server)为389,安装完成后配置的第二个Data Directory Sever的端口号为390。

3 对于7.0以上版本Cognos是通过配置管理器Configuration Manager来进行配置的。配置包括Services.Access Manager-Directory Server.General和 Services.Access Manager-Runtime.Authentication Source.Directory Server中关于目录服务的配置。如下示意图:

特别提醒Base distinguished name的值为:o=域名。安装过程中如果没有改变口令,Default Namespace Administrator Password的值不用改,否则需要改成跟安装过程中一样的口令。

4 不同网段的IE客户端访问Cognos的服务器时,很有可能会出现无法访问的情况,主要原因是无法解析服务器域名导致的。解决办法是将服务器端的Cognos的机器名改为固定IP地址。具体操作示意图如下:

将PPES Server Group和Upfront Server Group右边Gateway URL中的机器名改为IP地址。

5对Cognos6.6版本,有一个把Bug,就是如果出现启动Enterprise server administrator 和upfront server administrator没有反应。解决办法是请删除下面路径下的文件:

D:\\Program Files\\Cognos\\cer1\\bin\\jre\\1.18\\bin\\symcjit.dll

3. Cognos对Cube访问的安全控制机制

在我们实际的项目方案中,都是以B/S访问Cube的,所以在此仅论述B/S方式的Cognos安全控制机制。Cognos的B/S安全认证机制是通过Netscape Directory Server实现的。Cognos的所有用户信息都是放在Netscape Deirectory Server 的实例中的,需要进行权限认证时都是从Netscape Directory Server中读取用户信息来进行。用户信息的维护是通过Cognos工具Access Manager访问Netscape Directory Server进行的。

1.1. B/S方式安全访问控制流程

Web Server Upfront Cgi Cube Web Browser Upfront Server PowerPlay Cgi Enterprise Server Upfront DataStore Login Cgi Common Logon Server Access Manager Netscape Directory Server

上图简单描述了用户通过B/S方式访问Cube数据时Cogos是如何实现安全控制的。

1.2. Cognos对Cube访问的安全控制细节

Cognos提供了两种安全机制来控制用户对Cube的访问。第一种是控制以B/S访问的用户对Upfront中对象的读写权限。第二种是控制用户类是否可以访问Cube以及可以访问Cube中的那些数据。

1.2.1. Upfront对B/S用户的访问安全控制

Upfront 的Datastore组件存放着所有用户的在Upfront上的对象的读/写/隐藏权限,DataStore对这些对象可设定的权限如下表: Upfront上存放对象 可进行的安全设定 默认状态 Personal Newsbox 某用户类是否有Personal 1 有Personal Newsbox Newsbox 某用户类是否有自己的/他人的2 只能读写自己的Personal Newsbox 的读/写权限,Personal Newsbox Newsbox 1 默认状态是根据此Newsbox的父对象的读写权限,以及其控制其父对象读写权限是否选择了“读写权限规则是否应用于 Newsbox/NewsIndex下所有的对象” 2 不隐藏 NewsIndex 1 用户类对NewsIndex的读写权1 默认状态是可读限,读权限表示是否能看见可写。 NewsIndex下的对象,写权限包括2 不隐藏 是否可以新建对象到NewsIndex或更改其属性。注意:控制读写权限包括‘读写权限规则是否应用于 NewsIndex下所有的对象’ 2 NewsIndex是否隐藏。 Enterprise下的Cube1 用户类是否对其有读写的权限,1 默认状态是根据文件快捷方式 读权限包括是指能否看见,写权限其父对象的读权限,代表能否删除或更改属性 以及控制其父对象2 该指针是否隐藏 时是否选择了“读写权限规则是否应用于 Newsbox/NewsIndex下所有的对象” 2 默认状态是不隐藏 包括是否可见此Personal Newsbox,写权限包括是否可以新建对象到自己的/他人的Personal Newsbox.注意:控制读写权限包括‘读写权限规则是否应用于Personal Newsbox下所有的对象’ Personal Newsbox是否隐藏 1 用户类对Newsbox的读/写权限,读权限包括是否见此Newsbox,写权限包括是否可创建对象到此Newsbox。注意:控制读写权限包括‘读写权限规则是否应用于 Newsbox下所有的对象’ 2 Newsbox是否隐藏。 3 不隐藏Personal Newsbox 1.2.2. Cube内部的安全机制

通过Cube包含那些用户类User Class来控制那些用户类可以访问Cube,通过设置User View确定这些用户类可以访问Cube的哪些数据。User View的设置参见Cognos常用操作流程部分论述。

4. Cognos常用操作流程

这儿说到的操作流程是指我们的项目中实际采用的方案涉及到的操作流程。主要分以下几个阶段.

1.3. 组织数据源:

在我们的项目中,Cube模型的数据源都是IQD文件(查询定义文件),该文件可以使用Cognos的组件Impromptu完成,也可以手工创建该文件。此处以Impromptu创建IQD文件为例加以说明。

Impromptu是制作报表和查询的工具,生成IQD文件只是它的一项功能。其操作步骤如下:

1.3.1. 生成Cat文件

Cat文件是关于数据源的一些定义,它提供了按照业务的观点来组织数据源的方法,即用户可以根据业务的分类来把数据库不同的表,查询,视图组织在一起,便于生成报表和查询。其操作示意图如下: 启动Impromptu程序:

新建一个Catalog,指定Cat文件名及其他属性(Catalog type,Database):Catalog 一般选择Shared,DataBase一般需要新建逻辑数据库,如果存在直接选择就可。

创建Cognos逻辑库:

确定数据库类型,新建逻辑库(这儿的示意图是以Sql Server为例的),将数据库的属性填入即可。

选定数据库后,下一步就是选择Cat中的内容,即包括的表等内容:

确定后,CAT即已建成,成功的话在Impromptu左下角有Cat的名称,如下示意图:

1.3.2. 生成Iqd文件

新建一个文件,如下示意图:

选择另存为Iqd文件,保存即可。

至此,生成Iqd文件的操作步骤就算完成。一般来说,为了生成Cube所需要的所有Iqd文件,建立Cat时一般把所有维表(经过归类的)和事实表放在同一个

Cat文件。然后为每一个维表和事实表建立一个Iqd文件,以便制作Cube模型时使用。

1.4. 制作Cube模型

Cognos的Cube模型文件的存储有两种,包括Pyi和Mdl格式,其中Mdl格式又分动态的和结构化的。Pyi文件属于二进制格式,Mdl文件属于文本格式,可以查看编辑。这儿以生成动态Mdl模型文件(这种类型的文件可以手工添加权限)为例,来说明制作Cube模型的简单操作流程。默认情况下,Cognos的Mdl文件格式是结构化的,要生成动态的,需要修改参数配置文件trnsfrmr.ini(在Bin目录下)中的选项,增加一行参数:VerbOutput=1,然后重新启动Transformer即可。

1.4.1. Insert 数据源

在这一步骤里,把一个Cube模型要用到的所有事实表和维表Iqd文件加入到Transformer的Data Source窗口。如下示意图:

数据源类型选择Iqd(Impromptu Query Definition)

录入访问数据的用户和口令

一个Cube加入完成,示意图如下:

然后依次把其他所有Iqd数据源都加入进来。如下示意图:

1.4.2. 生成Dimension Map和Measures

在Transformer里,维表和事实表的关联是通过Column名称关联的。所以维表的ID名与事实表对应的ID名必须一致。将维表的Column标识字段拖到Dimension Map 的Title处放开鼠标,就可以形成一个维度的Dimension Map,依此把所有维度的Column标识字段都拖到Demension Map。Cube展现时的维度名称就是我们在Dimension Map看到的名称。同一个维度有层次关系的Column标识按照粒度大小从上往下排列。如时间维,年份在最上,季度居中,月份在最下。将度量Column依次拖入Measures窗口。维度和肚量拖入各自的窗口后,就可以设置他们的属性了。其操作示意图如下:

维度名可以修改,如下所示:

有多层的维度的最底层的Unique属性需要勾上。Label属性选为维度对应的描述字段,因为展现分析时用户希望看到时维度描述,而不是维度标识。

对于度量可以修改其存储类型Storage type和显示格式Format等属性,如下示意图:

右键单击Dimension Map窗口,可以将Show Scope选上,可以直观的看到Dimension Map是否有错误(选中事实表Iqd的Data Source,如果有红色的表示有错误)。

下图标识Demension Map 有错误:

在PowerCubes窗口插入需要生成的Cube,示意图如下:

1.13.2. DataWorkDirectory=

设定在生成立方体时Transformer创建临时工作文件的位置。可以使用多个驱动器的能力可以消除操作系统所造成的大小限制。 当Transformer 创建立方体时,它可以将临时文件写入指定的驱动器或目录。这些文件被连接到一个逻辑文件,而无需考虑它们所在的驱动器。这些文件的位置由您所设定的路径列表来决定。默认的路径为CubeSaveDirectory设置的值。

1.13.3. DataSourceDirectory=

对于除IQD文件和Architect模型以外的数据源文件,该设置可以指定Transformer搜索这些文件的位置。默认路径是当前工作路径。

1.13.4. CubeSaveDirectory=

指定Transformer保存立方体的位置。默认路径为ModelSaveDirectory。

1.13.5. ModelSaveDirectory=

设定Transformer保存模型的位置。默认路径为当前工作路径。

下面是Transformer日志文件中有关这些设置的实例:

PowerPlay Transformer Wed Sep 19 09:39:17 2001 LogFileDirectory=c:\\transformer\\logs

ModelSaveDirectory=c:\\transformer\\models\\ DataSourceDirectory=c:\\transformer\\data\\ CubeSaveDirectory=e:\\transformer\\cubes\\ DataWorkDirectory=d:\\temp\\ ModelWorkDirectory=e:\\temp\\

下面的例子显示了如何在命令行中使用参数设置文件: trnsfrmr -n –fc:\\preferences.prf model.mdl

6. 附录

1.14. 手动修改动态Mdl文件添加用户权限的方法

通过修改.mdl文件可以添加权限控制,具体说明如下:

手动修改.mdl文件添加权限控制的前提条件: 1 多维模型的存储采用Verb mdl格式,缺省情况下Cognos采用structured mdl格式,修改参数配置文件trnsfrmr.ini中的选项,增加一行参数:VerbOutput=1 即可。

2 通过 Access Manager-administration 工具添加了权限控制所需要的用户类。

1.14.1. 用户类视图定义

举例说明如下:

ViewMake 20000 \View\Dimension \地市维\ViewUserClass 10020 Apex \

ViewMake 20010 \View\Dimension \地市维\ViewUserClass 10030 Apex \

ViewMake 20020 \地市维\10040 Apex \

功能说明:以上描述的功能是生成用户视图(如:\在定义用户视图里包括的内容有:

1 维度(如\地市维\)

2 用户类编号(可以自己定义,只要前后保持一致就可以) 3 可以访问的维度成员(数据范围)定义(如:Apex \表示仅可以看到\地市维\中的\成员,\代表\安庆\

1.14.2. 用户类定义

举例说明如下:

UserClassMake 10000 \

DimensionView \月份维\地市维\Categories\品牌类型维\

\Categories\DimensionView \业务类型维\\Categories\DimensionView \渠道类型维\DimensionView 297 \

MeasureInclude \用户欠费金额\Yes MeasureInclude \在网用户欠费金额\Yes

UserClassMake 10010 \

DimensionView \月份维\地市维\

Categories\品牌类型维\

\Categories\DimensionView \业务类型维\\Categories\DimensionView \渠道类型维\DimensionView \欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

UserClassMake 10020 \

DimensionView \月份维\\Categories\DimensionView \地市维\\

DimensionView \品牌类型维\业务类型维\\渠道类型维\

\欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

UserClassMake 10030 \

DimensionView \月份维\\Categories\DimensionView \地市维\\品牌类型维\

\Categories\DimensionView \业务类型维\\Categories\DimensionView \渠道类型维\DimensionView \欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

UserClassMake 10040 \

DimensionView \月份维\\Categories\DimensionView \地市维\\品牌类型维\

\Categories\DimensionView \业务类型维\\Categories\DimensionView \渠道类型维\DimensionView \欠费账龄维\

MeasureInclude \用户欠费金额\Yes MeasureInclude \在网用户欠费金额\Yes

UserClassListUpdate 10000 StartList 10010 EndList

UserClassListUpdate 10010 StartList 10040 10020 10030 EndList UserClassListUpdate 10020 StartList EndList UserClassListUpdate 10030 StartList EndList UserClassListUpdate 10040 StartList EndList

功能说明:以上描述的功能是定义生成用户类,在用户类定义包括如下内容: 1 用户类标识(包括用户类编号,名称,ID编号);其中用户类编号可以自己定义,但要保持唯一;名称为Access Manager中创建的名称,ID编号可以自己定义,只要保持唯一就可。

2 用户类可以访问的维度描述;这部分包括用户类可以访问的维度和

维度内的成员范围定义。

(如:DimensionView \月份维\表示月份维的所有成员;

DimensionView \地市维\表示地市维用户视图定义内的成员范围,其中\View\在用户视图中定义的) 3 用户类可以访问的度量描述;这部分包括用户类可以访问的度量描述。(如:MeasureInclude\用户欠费金额\Yes 表示用户类可以访问度量\用户欠费金额\)

4 更新用户类定义描述;这部分包括用户类对应的用户类编号,以及用户类之间的层次关系描述(如:UserClassListUpdate 10000 StartList 10010 EndList 表示维成员10000是10010 的父节点,UserClassListUpdate 10010 StartList 10040 10020 10030 EndList 表示10010是10040,10020,10030三个成员的父节点)

1.14.3. 定义可以访问Cube的用户类

CubeMake 100000000 \收入类月分析指标(欠费用户类)\收入类月分析指标(欠费用户类).mdc\

PowerCubeUserListUpdate Cube 100000000 StartList 10020 10030 10040 EndList

功能说明:以上描述的功能是定义可以访问Cube的用户类范围,这部分定义只要把用户类对应的用户类编 号指出即可.(如:PowerCubeUserListUpdate Cube 100000000 StartList 10020 10030 10040 EndList,其中100000000是Cube编号,与 CubeMake 100000000 \收入类月分析指标(欠费用户 类)\收入类月分析指标(欠费用户类).mdc\中定义的编号(100000000)一样。10020 10030 10040分别表示可以访问Cube编号100000000的用户类编号。))

基于以上描述,这次联通总部的指标体系通过Cognos展现的权限控制可以通过下列建议规范来实现:

一 用户视图定义:

ViewMake 20000 \地市维\10020 Apex \

用户视图编号我们以20000开始,每增加一个用户视图,编号按10递增;视图名由用户类名拼~User View组成,可以访问的维度描述在这儿地市维度名\地

市维\;用户类视图编号采用用户类编号,地市成员编码采用地市维表中定义的地市编码(Cognos的Tansformer默认采用此编码),如这儿采用安徽的编码,\代表\安庆\)。

文本在mdl文件中的位置:

ViewMake 20000 \View\放在地市维成员的描述DimMake.......最后的 ViewMake......之后,下一个DimMake......之前

二 用户类定义:

UserClassMake 10000 \

DimensionView \月份维\地市维\Categories\

DimensionView \品牌类型维\业务类型维\渠道类型维\

\欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

UserClassMake 10010 \

DimensionView \月份维\地市维\Categories\

DimensionView \品牌类型维\业务类型维\渠道类型维\

\欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

UserClassMake 10020 \

DimensionView \月份维\\Categories\DimensionView \地市维\\

DimensionView \品牌类型维\业务类型维\渠道类型维\

\欠费账龄维\

MeasureInclude \用户欠费金额\在网用户欠费金额\Yes

......

UserClassListUpdate 10000 StartList 10010 EndList UserClassListUpdate 10010 StartList 10020 EndList UserClassListUpdate 10020 StartList EndList

第一个用户类的用户类编号采用10000开始,每增加一个用户类按10递增;\


Cognos实战入门.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:地铁接触网工作质量管理的研究

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: