IBM Cognos 最佳实践: 自适应仓库目标模型指南:构建定制计算

产品:IBM Cognos Analytical Applications;关注领域:建模

了解目标模型计算,及其目标和结果,以及如何在 Cognos Adaptive Warehouse 中使用它们。

Michael Adendorff, STSM, 架构师 - 自适应应用程序框架, IBM

Mike 在 IBM Cognos 工作已有 12 年之久。他是 Cognos Analytic Applications 团队创办成员之一。他设计并开发了多个应用程序模块,并且是负责 Adaptive Application Framework 和 Cognos Metrics Studio 策划的主要设计师。他深入接触了数据仓库建模和设计、仓库性能与调优、ETL、Framework Manager,以及 BI 报告方面的工作。加入 Cognos 之前,Mike 是一名独立顾问,主要关注 Data Warehousing 和 BI。



2012 年 8 月 20 日

免费下载:IBM® Cognos® Express V9.5 或者 Cognos® 10 Business Intelligence Developer Edition V10.1 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

目的

IBM Cognos Adaptive Warehouse 中有很多不同的建模目标模型计算 (target model calculations) 方法。每个方法都有其特定的目的,并且所交付的结果也不同。在某一个特定场合使用错误计算类型可能会导致不正确的查询结果。本文解释了各种场合使用的建模技术,并详细介绍了这些建模技术。

适用范围

IBM Cognos Adaptive Warehouse V8.x 和 IBM Cognos Adaptive Warehouse V10.x。

先决条件

在 IBM Cognos Adaptive Warehouse 中的 IBM Cognos Framework Manager Target 模型中定义计算。本文假设读者熟悉 IBM Cognos Framework Manager。

例外与除外责任

在本文撰写时尚无已知的排除和例外情况。


计算类型

计算类型是通过计算中使用的组件来源和聚合相关的计算定时来区分的。计算组件可来源于一个事实、多个事实或者事实和维度组合。计算定时表示计算是在聚合之前还是之后完成。下表根据组件来源和所需的定时列出了相应的计算类型。

计算聚合前聚合后
涉及单个事实在事实业务层中计算。
例如,extended price = sum (order.unit price * order.units sold)
在度量维度中计算(计算常规聚合)。
例如,sales margin = sum (order.extended price – order.extended cost)/sum (order.extended price)
涉及一个事实和维度在事实业务层中计算。
例如,extended price = sum (order.unit price * order.units sold)
在度量维度中计算(计算常规聚合)。
例如,yield per product = sum (extended price)/count (product.id)
涉及多个事实不适用。不能在聚合之前使用来自多个事实的组件执行一个计算单机计算。
例如,admin expenses as a percentage of sales = sum (GL Admin Expenses) / sum (extended price)
涉及单个或多个维度,没有事实在维度业务层中计算。
例如,adjusted price = sum (product unit * producttype.standard rate)
这是不常用到的计算类型,但是的确可用单击计算执行

在业务层创建一个计算

  1. 定位业务层查询主题。可以在 <Warehouse Object> 名称空间中 Adaptive Warehouse 的 IBM Cognos Framework Manager Target 模型中找到。查询主题名为 <Warehouse Object>_。在本例中,名称空间是 Order,所用的查询主题是 Order_
    图 1. Project Viewer 面板显示目标模型中的 Order_ 查询对象
    图 1. Project Viewer 面板显示目标模型中的 Order_ 查询对象
  2. 编辑查询主题定义。
    图 2. Query Subject Definition – Order_ 对话框显示查询项和计算。
    图 2. Query Subject Definition – Order_ 对话框显示查询项和计算
  3. 添加一个 Calculated Item,并使用查询主题或任何维度相关的业务层查询主题中的项来定义一个表达式,例如,名为 Extended Cost 的新计算项可能如下:
    Extended Cost = [Order].[Order_].[Units Sold] * [Order].[Item].[ItemId].[ItemPrice]
    图 3. Extended Cost 表达式的一个示例,计算方法为 units sold * unit price
    图 3. Extended Cost 表达式的一个例子,计算方法为 units sold * unit price
  4. 确认新计算项的 Regular Aggregate 属性值。在本案例中,此值为 Sum
    图 4. 计算项 Extended Cost 的 Regular Aggregate 属性值设置为 Sum
    图 4. 计算项 Extended Cost 的 Regular Aggregate 属性值设置为 Sum
  5. 如果计算被作为一个新度量公开,将它包含在适当的度量维度中。
    图 5. Order Measures 度量维度的 Dimension Definition 对话框显示添加到现有度量中的 Extended Cost 度量
    图 5. Order Measures 度量纬度的 Dimension Definition 对话框显示添加到现有度量中的 Extended Cost 度量

在度量维度中创建一个计算

  1. 定位度量维度,可以在 <Warehouse Object> 名称空间中 Adaptive Warehouse 的 IBM Cognos Framework Manager Target 模型中找到。度量维度名为 <Warehouse Object> Measures。在本例中,名称空间是 Order,所用的度量维度是 Order Measures
    图 6. Project Viewer 面板上的 Order Measures 度量维度包括 UnitsSold、UnitPrice、ExtendedCost 和 ExtendedPrice 度量
    图 6. Project Viewer 面板上的 Order Measures 度量维度包括 UnitsSold、UnitPrice、ExtendedCost 和 ExtendedPrice 度量
  2. 编辑度量维度定义。
    图 7. Order Measures 度量维度 Dimension Definition 对话框包括 UnitsSold、UnitPrice、Extended Cost 和 Extended Price 度量
    Figure 7. Order Measures 度量维度 Dimension Definition 对话框包括 UnitsSold、UnitPrice、Extended Cost 和 Extended Price 度量
  3. 添加一个新度量,仅选择度量维度中的度量作为计算组件。例如,名为 Extended Cost 的新度量计算可能如下:
    Sales Margin = ([Order].[Order Measures].[Extended Price] - [Order].[Order Measures].[Extended Cost]) / [Order].[Order Measures].[Extended Price]
    图 8. Extended Price – Extended Cost / Extended Price 的 Sales Margin 度量定义的 Calculation Definition 对话框
    图 8. Extended Price – Extended Cost / Extended Price 的 Sales Margin 度量定义的 Calculation Definition 对话框
  4. 将新计算维度 Regular Aggregate 属性设置为 Calculated。这可确保聚合发生在计算之后。

创建单机计算

  1. 为单机计算挑选一个适当的名称空间或者创建一个新名称空间。单机计算通常是为跨事实计算而创建的。如果计算度量的维度范围与事实的范围相同,将单机计算放在事实名称空间中,否则,就创建一个新名称空间。创建一个新名称空间的同时,也创建星型模式分组来表示名称空间的维度范围。在下列示例中,计算范围中惟一的维度就是 Calendar。没有带 Calenda 范围的现有名称空间,因此为计算度量创建新的名称空间 Sales Ratios。
    图 9. Project Viewer 中所显示的带有 Calendar Star Schema 分组的 Sales Ratios 名称空间
    图 9. Project Viewer 中所显示的带有 Calendar Star Schema 分组的 Sales Ratios 名称空间
  2. 创建一个新单机计算。在定义该计算时,可使用任何度量维度的度量。例如,名为 Admin Expenses as a percent of Sales 的新度量计算可能如下:
    Admin Expenses as a percent of Sales = ([GL Balance].[GL Balance Measures].[Admin Expenses Amount] / [Order].[Order Measures].[Extended Price])
图 10. Calculation Definition 对话框将 Admin Expenses 定义显示为一个 Percentage of Sales 单机计算
图 10. Calculation Definition 对话框将 Admin Expenses 定义显示为一个 Percentage of Sales 单机计算

单机计算工作方式不同于其他查询项或度量:

  • 不需要为单机计算创建范围关系。
  • 单机计算必须单独使用。请勿在查询项或度量定义中引用它们。

参考资料

学习

获得产品和技术

讨论

  • 参与 developerWorks 博客 并加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=830976
ArticleTitle=IBM Cognos 最佳实践: 自适应仓库目标模型指南:构建定制计算
publish-date=08202012