IBM Cognos 10.2 最新体验之旅

IBM Cognos Data Manager 数据集市的构建利器

本文详细的介绍了 Cognos 最新版本 10.2 的数据集市构建器 Data Manager 的使用,对于希望系统了解 Cognos Data Manager,以及 IBM 数据集市构建方法,并且掌握 Cognos 最新版本安全性的读者有非常实用的指导意义。

廖 显, IBM 商业智能与绩效管理 资深技术顾问 /业务分析架构师, IBM

Photo of 廖显 Sammy Liao 无需填写 无需填写廖显,目前在 IBM(中国)有限公司软件部负责西区企业业务分析与性能管理技术咨询,曾就职于惠普全球应用开发与支持中心,思科全球市场信息智能中心,澳新银行全球运营中心。拥有多年商业智能与数据仓库架构、分析项目经验,现专注于企业级商业智能与数据仓库的研究与咨询,IBM 业务分析与优化解决方案专家。

2014 年 11 月 20 日

作为 Cognos 自身的 ETL 工具,IBM Cognos Data Manager 是成熟的数据抽取、变形、加载(Extract,Transform,Load)工具,其主要功能是将各种异构数据源中的数据抽取并处理,包括过滤、变形、星形模式转换、雪花形模式转换、数据仓库结构变形等等处理,然后将处理后的结果导出到不同的数据库、数据仓库、数据集市或数据文件中。

IBM Cognos Data Manager 的主要目的是帮助用户创建数据仓库以及为报表、分析,以及绩效管理使用的数据集市,Data Manager 主要任务为:

  • 从种类繁多的数据源当中抽取操作性数据
  • 合并以及转换数据,用于在企业级范围的报表与分析使用
  • 为匹配数据集市设计交付转换以后的数据

作为 IBM Cognos 企业平台的重要组件,IBM Cognos Data Manager V10.2 代表了 IBM Cognos 10 家族下一代创新的有机组成部分。IBM Cognos Data Manager V10.2 可以用来将数据传输到单个数据库业务表和更加复杂的转换需要的事实表与维度表当中。并且 IBM Cognos Data Manager V10.2 依靠交互元数据给 IBM Cognos Framework Manager 从而与其它的 IBM Cognos 商业智能产品相整合,这将允许目标数据仓库和数据存储直接利用这些数据进行建模,从而非常方便的进行 IBM Cognos 商业智能应用以及绩效管理项目。

另外,除了本身具备的 ETL 能力以外,IBM Cognos Data Manager V10.2 加入了 64 位数据管理引擎,允许用户可以加入额外的可用内存在 64 位的计算环境当中。这极大的增加了可加载的数据量,并减少了内存管理技术对性能的要求。

关于安装

IBM Cognos Data Manager 的安装异常简单,只需要几步点击即可,不过有几项也需要特别注意,语言,路径以及安装组件。运行 IBM Cognos Data Manager 在 Window 平台上,选择需要的语言。

确认需要安装的路径,如果之前已经安装了 Cognos Server,那么请在同样的 Cognos 路径下覆盖安装,保证服务一致性。

选择需要安装的 Data Manager 组件,包含:

  • Data Manager Engine
  • Data Manager Network Services Server
  • Data Manager Designer

等待安装完成。


创建数据源名称

首先需要设置一个数据源名称(Data Source Name- DSN),可以使用现有的数据连接方法,比如 ODBC 的方法来设置,打开 Cognos Data Manager 程序,在“Tools”栏选择“ODBC Administrator”。

然后选择创建系统型 DSN(System DSN),依次添加 System Data Sources,选择“Microsoft Excel Driver (*.xls)”驱动来连接 Access 的样例数据库,在“Select…”项里依次选择 c10_locationwebcontentsamplesDataManager路径下 MSAccess 与 db 文件夹里的所有数据文件,建立 ODBC 连接,然后关闭 ODBC 数据源管理的界面。

图 1. 选择数据库文件路径
图 1. 选择数据库文件路径
DSN 命名建议Access 数据库文件名称文件路径
DS_New DS_New.mdb c10_locationwebcontentsamplesDataManagerMSAccess
DS_Lessons DS_Lessons.mdb c10_locationwebcontentsamplesDataManagerMSAccess
DS_Marts DS_marts.mdb c10_locationwebcontentsamplesDataManagerMSAccess
DS_Tutorial DS_Tutorial.mdb c10_locationwebcontentsamplesDataManagerMSAccess
DS_Advanced DS_Advanced.mdb c10_locationwebcontentsamplesDataManagerMSAccess
DS_Advanced_out DS_Advanced_out.mdb c10_locationwebcontentsamplesDataManagerMSAccess
GOMarket MarketResearch.mdb c10_locationwebcontentsamplesDataManagerdb
GOSales GOSales.mdb c10_locationwebcontentsamplesDataManagerdb
GOVendors GOVendors.mdb c10_locationwebcontentsamplesDataManagerdb
GOSalesDW GOSalesDW.mdb c10_locationwebcontentsamplesDataManagerdb

创建数据管理目录(Data Manager Catalog)

IBM Cognos Data Manager Catalog 数据管理目录提供了一个定义数据抽取、转换、导入的信息存储库,该存储库可以用作存储专用数据库的转换逻辑,也可以用作其他用途,比如目标数据集市设计等。

这个目录由一系列已经获取数据库权限的数据表组成,并且可以为每一个数据库创建一个目录,这个目录主要可以说明:

  • Data Manager 如何从数据源抽取、转换数据,以及如何导入数据到目标数据集市当中。
  • 展现从数据源到目标数据集市的数据流
  • Data Manager 如何为包含元数据的数据集市创建符合目标的数据模型
图 2. Data Manager 目录管理架构图
图 2. Data Manager 目录管理架构图

可以先浏览已经存在的数据管理目录,选择“打开目录”,然后选择连接数据源的 DSN 名称,点击确认。

图 3. Data Manager 打开相应目录的数据源
图 3. Data Manager 打开相应目录的数据源

然后在打开的窗口里可以看到左边的树状设计窗口,里面包含了目录(Catalog),构建(Builds),工作流(JobStreams),元数据(Metadata),字典(Library)等元素,这个树状窗口是 IBM Cognos Data Manager Designer 的设计窗口,在层级上,它包含构建与工作流(Builds and JobStreams)文件夹,元数据(Metadata)文件夹,字典(Library)文件夹。

图 4. Data Manager 里目录的树状浏览结构
图 4. Data Manager 里目录的树状浏览结构
  • 构建与工作流(Builds and JobStreams)文件夹:这个文件夹包含在当前数据管理目录下的事实构建,维度构建以及工作流设计。
  • 元数据(Metadata)文件夹:这个文件夹包含你正在构建符合星型模型的维度与集合。
  • 字典(Library)文件夹:这个文件夹包含所有的连接,参考维度(包含层次设计,自动登记的层次设计,表查找以及样例)和在当前目录下用户定义的功能。

在窗口下方有 6 个不同目录元素视图的选项卡,分别是:

图标名称描述
目录 Catalog 显示整体的目录结构 Catalog
事实构建 Fact Builds 仅显示包含在目录里的事实表数据 Fact Builds
维度构建 Dimension Builds 仅显示包含在目录里的维度表数据 Dimension Builds
工作流 JobStreams 仅显示包含在目录里的工作流 JobStreams
字典 Library 仅显示包含在目录里的维度 Dimensions,连接 Connections,以及功能 Functions
元数据 Metadata 仅显示包含在目录里的元数据维度 Dimensions 和集合 Collections

我们可以根据项目 ETL 设计所需,而自由的转换元素视图来进行设计和构建,

点击任意一个构建或工作流,可以在右边的窗口看到详细的设计,在例子中,我们可以点击“DS_Tutorial”下的“BIMart”事实构建,这个事实构建的整体将呈现出来,你可以在其中任何组件图标上双击进行浏览和属性设置。

图 5. 事实构建的 BIMart 映射图
图 5. 事实构建的 BIMart 映射图

点击这个窗口上面的映射(Mapping)选项卡就可以看到源表列(DataSource),数据流项(DataStream),以及事实表构建的转换模型(Transformation Model)的元素之间的映射关系。

图 6. 源、数据流与转换模型之间的映射关系
图 6. 源、数据流与转换模型之间的映射关系

点击转换模型(Transformation Model)选项卡就可以看到事实表与带有层次设计的维度表之间的映射,在维度的层次设计中,在左边打勾符号标记意味着是输入需要,在右边打勾符号标记意味着是交付输出。

图 7. 转换模型
图 7. 转换模型

点击事实交付(Fact Delivery)选项卡,你可以看到转换模型元素和交付的事实数据表的列之间的映射。

图 8. 转换模型与数据集市对应的映射关系
图 8. 转换模型与数据集市对应的映射关系

当然,我们也可以创建一个新的数据管理目录(Catalog),点击新建图标,在弹出的新的目录创建窗口里命名“MyCatalog”然后点击“下一步”,在新的数据连接窗口的左边选在“ODBC”,然后在数据源名称项下选择“DS_New”的 ODBC 连接作为新的数据源连接,最后点击“完成”,一个新的,空白的数据管理目录就建好了。


建立数据连接

作为一个标准的 ETL 工具,建立数据源连接非常重要,你需要建立的数据库连接不仅仅只有数据源,也包含了目标数据的连接。这个连接需要提供连接到数据库的所有信息,它标识出特定的数据库类型以及制定的连接方法,还需要提供数据库管理系统需要的收取比如用户名和密码信息。

IBM Cognos Data Manager 支持多个厂商的数据库管理系统,包括:IBM,Oracle,Microsoft,Informix,Sybase 和 Teradata,并且可以使用本地驱动以及 ODBC 的方法连接其他数据库。Data Manager 还支持使用“IBM Cognos Data Manager Connector for SAP R/3”产品加载项来把 SAP R/3 系统作为数据源。

此外,Data Manager 还可以使用 SQLTXT 驱动来连接文本文件(ASCII 或则 EBCDIC)数据源,这样可以支持任何可以到处文本数据的应用系统。

下面,我们来简单连接一个 ODBC 的数据库,打开刚创建的“MyCatalog”数据管理目录,在字典(Library)图标上右键,并且选择插入连接(Insert Connection),在弹出的窗口的别名里填入“GO_Sales”,然后点击窗口上的“连接详细(Connection Details)”选项卡,并且在左边的连接类型选择 ODBC,在右边的数据源名称里选择“GOSales”,然后点击下面的“测试连接(Test Connection)”,然后再点击 OK 确认,一个 ODBC 的数据库连接就建好了,按照这个步骤,再添加 Go_Vendors(以 GOVendors 作为数据源)和 DS_Marts(以 DS_Marts 作为数据源)两个数据连接。

图 9. 选择数据连接
图 9. 选择数据连接

当然,我们还可以尝试建立如下类型的其他数据连接:

  • Cognos Data Srouce
  • DB2
  • Essbase
  • Informix
  • DTS Package
  • Oracle
  • ODBC
  • SQL Server
  • Published FM Package
  • SQLTXT
  • Sybase
  • TM1

这里,我们可以尝试建立一个 SQLTXT 类型的连接便于后面使用,右击 Library 里的 Connections 文件夹,然后选择插入一个连接,再弹出的对话框里,Alias 里填入“DS_Sources”,在 Connection Details 里选择 SQLTXT,然后在文件定义的部分,找到相应 def 文件:C:Program FilesIBMcognosc10_64webcontentsamplesDataManagersqltxtDS_Sources.def,测试一下,成功,即完成一个 SQLTXT 类型的数据连接。


创建维度框架

维度框架定义了核心业务元素的层次结构,它展示了组织重新思考业务数据构建的一种方式,每一个分组后的维度包含的信息都是与特定的业务场景相关联。一个维度提供了分析的上下文,比如产品、客户、销售员工等,而 IBM Cognos Manager 支持无限制的维度引用,因此可以是做到一个场景无限连接维度表进行分析。

引用维度包含引用结构(层次结构、自动等级的层次结构,以及表查找),和一个或多个模板。

  • 层次结构 Hierarchies

层次结构提出了业务维度的特定视图。它包含在固定数量级的相关引用数据的的定义。每个级别包含一组在该数量级水平的成员数据。在等级上成员数据又分为父类水平,以及子类水平,有上下区分。

  • 自动等级层次结构 Auto-level Hierarchies

自动等级的层次结构没有固定数量的等级概念,它是纯粹的父-子关系结构。例如:雇员报告给经理,经理又报告给其他的经理关系。

  • 查找 Lookups

查找是一个单一的层次结构,主要用于数据验证。

  • 模板 Templates

模板为维度表定义的属性,以及行为,一个模板需要恰当的维护以及使用相应的引用维度表。

业务维度是分析报表的核心业务组成部分,比如在样例数据“The Great Outdoors Company”中,这个公司依靠出售产品获取利润,一个产品维度可以让管理者依靠产品、产品类型以及产品生产线等层次来分析公司绩效。关于产品的销售可能是一个季节性的趋势,了解这个趋势可以帮助管理层更好的计划每个产品的生产,从而获得市场上的成功,如果需要识别这个趋势那么数据集市里必须包含时间维度。另外,销售员工维度可以让管理者很好的分析不同的销售区域,国家,销售分公司,以及销售员个人表现在产品销售以及利润产生中的情况。最后,Great Outdoors 的零售商就是 Great Outdoors 公司的第一级客户,而零售商维度可以很好的回答管理层“我们的不同的零售商业绩表现如何?”。

综上所述,我们可以由此使用 IBM Cognos Data Manager 设计构建如下的维度:

  • 产品维度
  • 时间维度
  • 销售员工维度
  • 零售商维度

接下来,我们来了解下如何在 IBM Cognos DataManager 里设置一个维度,打开之前我们建立的 MyCatalog 数据管理目录,在字典(Library)里选择维度(Dimensions),右键点击“插入参照维度(Insert Reference Dimension)”,在弹出的维度属性框的名称一栏输入“Product”,点击 Ok,按照同样的步骤创建 Time,SalesStaff,Retailer 三个新维度。

图 10. 插入引用维度
图 10. 插入引用维度图 10. 插入引用维度

然后,我们可以来构建维度的层次设计,以零售商维度为例,从 GO_Vendors 数据库中相关的表来创建零售商层次,层次在表之间遵循一对多的关系,一个零售商类型(RetailerType)可以有对应多个零售商(Retailer),但是一个零售商只能对应一个零售类型,相似的,每个零售商可以有多个站点(Site),但是一个站点只能对应一个零售商,这些表关系呈现出雪花的层次设计样式。

图 11. 构建维度的层次说明
图 11. 构建维度的层次说明

从工具栏里选择层次向导 ,可以看到有三种创建新层次的选项:

  • 从一个表的列里创建一个层次结构(星型模型)
  • 从一个表的行里创建一个层次结构
  • 从多个表里创建一个层次结构(雪花模型)

这里我们选择“从多个表里创建一个层次结构(雪花模型)”,然后点击下一步,在“输入层次名称”里填入 Retailer,然后在下面窗口选择 Retailer 作为层次的维度:

图 12. 选择层次信息
图 12. 选择层次信息

再点击下一步接受默认创建的所有级别名称,然后在下一页,点击“ALLRetailer”并且在右边选择添加新的级别,在新窗口里填写名称,选择数据源数据库,以及定义可用数据列类型,如下:

图 13. 填入层次信息详细
图 13. 填入层次信息详细

然后再新建一个 Retailer。

图 14. 添加层次 Retailer
图 14. 添加层次 Retailer

最后建一个 Site 作为最第一层的级别。

图 15. 添加层次 Site
图 15. 添加层次 Site

选择完成,点击保存,然后就可以看到你创建的 Retailer 的层次图了。

图 16. 实现层次映射关系
图 16. 实现层次映射关系

当你建好一个维度的层次以后,你就可以尝试着去浏览或则测试你创建的层次的每个层级。在 Dimensions 文件夹下找到 Retailer 层次,然后右击 Retailer,在弹出的对话框里,选择 Explore,然后再在弹出的 Reference Explorer 对话框里点击 OK,有时这里会弹出一个关于没有主键 ID 的 Warning,你可以接受它,然后,你就可以看到一个 Retailer 下的所有层次元素,你可以一一打开来进行检查。

图 17. 检查层次元素
图 17. 检查层次元素

当然,在作为一个数据集成的 ETL 工具,自然也具备创建一个日期层次的能力,你可以创建一个日期在样例数据库 DS_Sources 的财务日期表中,在这个表中每个数据行标识了相关的天、周、月、季度和年,显示了一个星型的架构。创建的过程也是先在 Tools 下找到 Hierarchy Wizard,然后会有三个选项:创建一个星型结构层次,创建一个单表行的层次,以及创建一个雪花结构层次。

选择结构:选择“Create the hierarchy form the columns of one table (Star Schema)”,下一步。

定义层次:在“Enter the name of the hierarchy”对话框里输入“Dates”,在“Select the reference dimension to use for this hierarchy”对话框里选择“Time”,下一步。

确定层次源:在“Locate the source table for this hierarchy”下,选择之前创建好的 DS_Sourcess 数据源下的 Fiscal 表,下一步。

划分层级:在默认构建的 ALLDates 层级名下,依次添加 Year,Quarter,Month,Week,Day,选择相应的 Id 作为“Source column for ID”,选择相应的 Caption 作为“Source column for caption”,完成。

最后保存这个目录,你就会看到这个刚设计好的日期层次图:

图 18. 日期层次
图 18. 日期层次

创建一个数据集市

构建一个数据集市的核心就是事实表的构建,我们可以很容易的基于 IBM Cognos BI Mart(Star)类型构建一个事实表,并且交付数据到数据集市当中,并且查看数据集市当中的数据,以及使用执行日志。而 IBM Cognos Data Manger 事实构建器明确的指定如何提取、转换以及传递数据,数据可以来自于多个数据源,合并并且清洗,在事实表中聚合,最后联合维度数据形成一个或多个数据集市。

那么与维度表关注层次不同,我们需要首先明确在 IBM Cognos Data Manager

的事实构建当中的转换模型(Transformation Model),包括:

  • 属性(Attribute)

属性元素并不是维度也不是量度信息,属性信息不像量度信息那样可以被聚合。

  • 派生(Derivation)

派生元素是指从源数据得到,再通过使用定义的表达式以后,Data Manager 计算出来的值。

  • 维度(Dimension)

一个维度元素包含运用计量的数据的上下文,例如,一个计量产品数量的量度需要知道产品编号的维度。

  • 派生维度(Derived Dimension)

一个派生维度元素允许进行其他维度表的查找,而这个查找值可以从之前的派生的查找或则计算中获得。

  • 量度(Measure)

量度元素是一个可以进行计算和分析的值,比如成本,收入等。

当 Data Manager 进行聚合的时候,它会按照维度的方向来整合量度和派生。那么接下来,我们尝试创建一个事实构建。我们打开一个目录 DS_Lessons,然后在 Tools 菜单里找到“Fact Build Wizard”,在弹出的对话框的“Enter the name of the build”输入“BIMart”。然后在“Select the type of fact build to create”里选择“IBM Cognos BI Mart(Star)”的星型事实表构建,最后在“Select the connection into which the build is to deliver data”选择“DS_Marts”,并且选择“Perform a full refresh on the target data”。

图 19. 构建事实
图 19. 构建事实

然后,我们再创建一个数据流,先定义一个数据源,点击“Data Source”,选择“Add”,为这个数据流选择“GO_Sales”作为数据源,然后再选在 ORDER_DETAILS 和 ORDER_HEADER 两张表里的某些列作为源,并且在右边可以看到相应的 SQL,然后点击完成,并且下一步。

图 20. 选择数据源的相应表字段
图 20. 选择数据源的相应表字段

在这个窗口,你可以对维度和量度的位置进行调整,以及类型的修改,下一步。

图 21. 维度量度调整
图 21. 维度量度调整

在“Use Reference”里选择相应的维度层次,比如 PRODUCT_NUMBER 对应 Product,RETAILER_SITE_CODE 对应 Retailer,SALES_STAFF_CODE 对应 Staff。然后在点击下一步,接受默认的事实数据以及维度数据交付的命名规则,点击完成,生成一个事实构建。

图 22. 形成事实映射
图 22. 形成事实映射

创建派生

所谓派生是 IBM Data Manager 使用表达式计算出来的值,而不是从数据源直接获得的值,你可以在如下应用中构建派生:数据流(DataStreams),数据源(Data Source),以及转换模型(Transformation Model)。对于添加的派生,你都可以使用左边的树状结构里的表达式来右边构建派生逻辑,从而实现数据转换的效果。

图 23. 派生的逻辑编辑界面
图 23. 派生的逻辑编辑界面

比如,创建在转换模型(Transformation Model)里创建派生,叫做转换模型派生(Transformation Model Derivation)。打开 DS_Lessons 目录,右键 Additional 事实构建下的转换模型,选择“Insert Derivation”,在弹出的对话框里,命名“GROSS_MARGIN”,然后选择 Calculation 栏,然后在左边选择 Funcations->User Defined 下找到 Margin 的表达式,并且双击,可以看到样例“Margin(Price, Cost )”然后在左边,选在 Elements 下的 UNIT_SALE_PRICE 替代 Price,UNIT_COST 替代 Cost,修改为“Margin( UNIT_SALE_PRICE, UNIT_COST )”,点击 OK,一个 GROSS_MARGIN 派生就构建好了。

另外,我们也可以在数据流里构建派生,叫做数据流派生(DataStream Derivations)。在 Additional 事实构建下右键选择 DataStream,点击属性,在 DataStream 属性对话框里选择 Derivations 添加,命名为“SALES_TOTAL”,在计算栏里找到 DataStream Items 下的“QUANTITY”与“UNIT_SALE_PRICE”,并且在右边形成表达式“QUANTITY*UNIT_SALE_PRICE”,点击完成,然后在 Mapping 窗口,也可以看到新增加的一个 DataStream 派生。

图 24. 实现数据源、数据流以及转换模型的映射
图 24. 实现数据源、数据流以及转换模型的映射

当派生做好以后,也可以使用 DataStream 来执行,选择 DataStream,在 Actions 下点击 Execute 执行按钮。

图 25. 执行映射
图 25. 执行映射

最后,你还可以把 DataStream 映射到转换模型上,右键 Additional 事实构建下的转换模型,选择 Mapping(映射),在打开的窗口里选择自动映射(Auto Map)下的“Create New Elements as Measure”创建一个新元素作为度量值,Data Manager 会自动选择上新转换模型元素。

图 26. 自动映射
图 26. 自动映射

然后在点击 OK,然后你就可以看到 DataStream 派生现在已经映射到转换模型上了。

图 27. 自动映射确认
图 27. 自动映射确认

最后,你需要把 Additional 事实构建下的数据交付给数据集市,右键 Additional 事实构建图标,选择 Execute 执行,保持默认配置,点击 OK,直到执行完成,可以关闭弹出的命令窗口。


创建维度构建以及工作流

维度构建可以提供维度数据给许多事实构建,事实构建也可以用于传递维度数据,但这可以以为多给事实构建会传递相同数据,从而导致重复工作。维度构建生成唯一的维度数据,而这个维度构建主要用于提供给数据集市分析相应的的维度引用参考。

打开 DS_Lessons 目录,在工具栏里选择“Dimension Build Wizard”,取名“Retailer”,在 Schema type 里选择 Star Schema,Dimension to be delivered 里选择 Retailer,Deliver into connection 里选择 DS_Marts,下一步全部默认选项,直到 Add Surrogate Keys to the Dimension Tables 打上勾,完成。

图 28. 打开维度构建
图 28. 打开维度构建

最后,右键刚构建的维度 Retailer,选择 Execute 执行,交付这个维度构建。

另外,使用 JobStreams 是为了组建 IBM Cognos Data Manager 下的各个组件在一起进行有序的逻辑处理。一个 JobStreams 可以包含多个节点,可以是进程里的一个个步骤。你可以将 JobStreams 设置为多个不同的应用程序,比如确认的数据集市,构建一个状态通知,维度数据的预处理区构建,数据清洗,索引维护,应付不同达到率的源数据,分区任务,以及自定义的程序日志记录等。为了支持不同的应用,JobStream 包含如下的节点:

  • 事实构建
  • 维度构建
  • SQL 执行
  • 程序
  • 条件分支
  • 嵌套的 JobStreams
  • 邮件提醒
  • 警告

我们来创建一个 JobStreams,打开 DS_Lessons 目录,右击“Builds and JobStreams”文件夹,选择“Insert JobStream”在弹出的对话框里命名为“Example”,在参数栏点击 Add,然后给参数命名为“StatusDates”并且类型选择 BOOLEAN,然后依次同样方法建立 StatusProduct,StatusStaff,StatusRetailer,最后点击 OK。

然后在 Example 的 JobStream 的设计框上找到并点击 Insert Dimension Build Node 的图标,并且在 Associated Build 里找到 Dates,然后在 Details 栏里把 Result variable 里的值替换成 StatusDates,点击 OK,重复这个步骤,构建 Product,Staff,Retailer 这个三个维度节点。

然后再在工具栏里选择 Insert Condition Node 的图标,然后在新弹出的对话框里,命名这个“CheckStatus”条件节点,然后在 Action 栏里,输入如下逻辑并点击 OK:

IF ($StatusDates AND

Getting Started 75

Chapter 10: Creating a JobStream

$StatusProduct AND

$StatusStaff AND

$StatusRetailer)

THEN

Return TRUE;

ELSE

Return FALSE;

然后再插入一个事实构建节点,点击 Insert Fact Build Node 图标,在 Associated Build 里找到 ConformedMart,点击 OK。

然后插入一个程序节点,点击 Insert Procedure Node 图标,命名为 Abort 的断点处理程序,在 Action 栏里输入如下,然后点击 OK。

LogMsg( 'Node CheckStatus failed. ConformedMart build aborted.');

然后使用 Insert Link 图标,连接各个节点,保存。

图 29. 构建工作执行流
图 29. 构建工作执行流

最后,右键 Example 这个 JobStream,选择 Execute 执行,整个 ETL 工作流执行完毕。

总结,IBM Cognos Data Manager 是 IBM Cognos 自身的一个选择组件,专门用于构建数据集市,因此,里面涉及到的层次,维度,事实,派生以及工作流,都是以数据集市设计为基础,作为业界领先的数据集市 ETL 工具,Cognos IBM Cognos Data Manager 具有如下特征和优势供用户参考:

  • 对多种数据库的支持:IBM Cognos Data Manager 支持 SQL Server、Informix、Oracle、DB2、Sybase、Essbase、SQL Server Analysis Services、SAP R/3、Teradata、文本文件等多种数据库,能够将存储在这些数据库中的数据抽取出来加以处理,也能够将处理完成的数据写入到这些数据库中。IBM Cognos Data Manager 对多种异构数据库的支持,是其强大数据汇合能力的保证。
  • 图形化的用户设计界面:IBM Cognos Data Manager 提供了图形化的设计界面,用户可以很方便地设计数据转换工程的各个细节,包括数据库连接定义、数据转换规则、数据加载规则、工作流程控制等等,直观的界面带给用户的是快速开发的体验和极低的培训成本。
  • 强大的数据处理能力:IBM Cognos Data Manager 具有强大的数据处理能力,提供了数据过滤、变形、汇总、维表建立、结构变换等多种功能,同时提供有脚本语言,可供实现特殊数据处理需求,可扩充性很强。
  • 高效率的数据抽取和加载:IBM Cognos Data Manager 支持多种专用的数据库加速接口,如 Teradata Multiload、Informix LOAD 等等,保证了数据抽取、加载的速度和效率。
  • 杰出的工作流程控制:IBM Cognos Data Manager 具有杰出的工作流程控制能力,通过图形界面,用户可以很方便地定义抽取工作的工作节点和流程,以及进行条件分支判断、错误处理、消息发送等工作。

参考资料

学习


讨论

条评论

登录注册  后发表评论。

出处:http://www.ibm.com/developerworks/cn/data/library/techarticle/dm-1411cognos-cdm/index.html

原文地址:https://www.cnblogs.com/mq0036/p/4193450.html