IBM Cognos 最佳实践

自适应仓库目标模型指南:构建定制计算

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

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: IBM Cognos 最佳实践

敬请期待该系列的后续内容。

此内容是该系列的一部分:IBM Cognos 最佳实践

敬请期待该系列的后续内容。

免费下载: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_ 查询对象
    图 1. Project Viewer 面板显示目标模型中的 Order_ 查询对象
  2. 编辑查询主题定义。
    图 2. Query Subject Definition – Order_ 对话框显示查询项和计算。
    图 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
    图 3. Extended Cost 表达式的一个例子,计算方法为 units sold * unit price
  4. 确认新计算项的 Regular Aggregate 属性值。在本案例中,此值为 Sum
    图 4. 计算项 Extended Cost 的 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 度量
    图 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 度量
    图 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 度量
    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 对话框
    图 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 单机计算
图 10. Calculation Definition 对话框将 Admin Expenses 定义显示为一个 Percentage of Sales 单机计算

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

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

相关主题


评论

添加或订阅评论,请先登录注册

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