内容


利用 IBM InfoSphere Data Architect 实现多维建模,第 1 部分

InfoSphere Data Architect 中的正向工程

多维建模

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 利用 IBM InfoSphere Data Architect 实现多维建模,第 1 部分

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

此内容是该系列的一部分:利用 IBM InfoSphere Data Architect 实现多维建模,第 1 部分

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

免费下载:IBM® InfoSphere Data Architect V7.5.2 试用版
下载更多的 IBM 软件试用版,并加入 IBM 软件下载与技术交流群组,参与在线交流。

简介

通过 InfoSphere Data Architect V7.5.3,您能够创建关系数据模型和多维数据模型。本系列将使用三个用户场景演示它如何加快多维数据建模,以及用户如何能够通过使用 InfoSphere Data Architect V7.5.3 获益。这三个用户场景分别是通过正向工程的多维数据建模,通过反向工程的数据建模以及 InfoSphere Data Warehouse 和 Cognos® Framework Manager 之间的数据模型转换。

场景概述

假设一家零售企业正计划开发一个系统来管理销售交易,并开发另一个系统来分析业务。现在该企业已经创建了规范化数据模型,除了为交易系统的销售情况建立数据模型之外,还为产品、员工、客户和商店创建数据模型。对于业务分析系统,该公司需要基于规范化的数据模型创建多维模型。

为了满足业务分析需求,我们将引入一个典型工作流,向您展示如何使用 InfoSphere Data Architect 通过正向工程创建多维数据模型。

工作流中的关键步骤包括:

  • 基于规范化数据模型发现多维信息
  • 将规范化逻辑数据模型转换为非规范化多维逻辑数据模型
  • 将多维逻辑数据模型转换为多维物理数据模型
  • 将多维物理数据模型转换为 Cubing 或 Cognos 模型

了解您的模型

该零售企业已经创建了一个逻辑模型,如图 1 所示,我们将获得该模型的基本知识。假设您已经创建了一个数据设计项目,并且使用 InfoSphere Data Architect V7.5.3 或更高版本成功创建了下面的模型。

图 1. 零售销售模型
图像描述了零售模型和中的所有表格及其关系
图像描述了零售模型和中的所有表格及其关系

将所有实体拖放到图表上。您将看到模型中包含的实体,它们描绘了以下关系:

  • 员工和相应的部门,表示为:
    • Employees
    • Department
  • 各个商店及其位置,表示为:
    • Store
    • Store_Region
  • 客户及其位置,表示为:
    • Customers
    • Customer_Type
    • Region
    • Territories
  • 产品及其供应商,表示为:
    • Products
    • Brand
    • Packaging
    • Categories
    • Supplier
    • Supplier_Type
  • 帐单,表示为:
    • Store_Billing
    • Store_Billing_Details

启用多维符号

启用多维符号的第一步是在逻辑数据模型中实现多维功能。右键单击数据模型,然后选择 Use Dimensional Notation 菜单项。您的模型现在可以包含维度属性。

图 2. 启用多维符号
屏幕截图显示了使用所选的维度符号
屏幕截图显示了使用所选的维度符号

通过类似方式,可以取消勾选该选项来删除模型的多维功能。

注意:将某些维度信息放在模型中后,取消勾选该选项只会将维度属性从您的视图删除。在内部,信息仍然保存在模型中。这是软删除维度属性,可以通过再次启用符号恢复这些属性。

创建标准化维度逻辑数据模型

现在看一下模型,您或许应该知道,Store_Billing 实体必须是一个 Fact 实体。您可以通过以下方法改变该实体的维度属性:

  1. 选择该实体,然后打开 Properties 视图。
  2. 找到标记为 Dimensional 的选项卡,然后选中 Change the dimensional entity type 复选框。
  3. 启用 Type 面板,将显示下图所示的情况。
  4. 选择 Fact 选项。Store_Billing 实体现在将是一个 Fact 实体。
    图 3. 设置维度属性。
    图像显示选择事实单选按钮
    图像显示选择事实单选按钮

注意: 您可能会猜到,选择 None 会使该实体变成一个普通实体。执行该删除操作很困难,因为已经在模型级别上删除了维度信息。

但是,这种方式不是更慢吗?我们难道不需要更快捷的添加维度属性的方法吗?请继续阅读本文。

通过自动发现功能添加维度属性

InfoSphere Data Architect 提供了强大的功能,可以自动识别实体的不同维度属性。您可以按照以下步骤操作:

  1. 在 Data Project Explorer 中选择数据模型。
  2. 右键单击,然后在出现的弹出窗口中单击 Discover Facts and Dimensions
    图 4. 发现事实和维度的菜单
    图像显示选择 facts and dimensions 菜单选项
    图像显示选择 facts and dimensions 菜单选项
  3. 系统会弹出一个对话框,询问您是否想为 type Dimension 的任何实体生成层次结构。选择 No。在完成转换过程之后,就可以学习并使用关于层次结构的更多信息。
  4. 在完成发现操作后,如下图所示,会有不同的维度属性应用于实体上。这是一个规范化维度逻辑模型。
    • Brand 实体被作为 Outrigger 发现。
    • Products 实体被作为 Dimension 发现。
    • Store_Billing_Details 实体被作为 Fact 实体发现。Unit Price 和 Quantity 属性被作为 Measure 发现。
    • Territories 实体保持原样。
      图 5. 已发现的规范化多维数据模型
      图像中突出显示了 brand、products、store_billing_details 和 territories
      图像中突出显示了 brand、products、store_billing_details 和 territories

注意:执行上述发现过程只是基于 InfoSphere Data Architect 的逻辑的一个建议,不是必需执行的操作。使用上述手动方法,您仍然可以更改属性(如果需要的话)。此外,值得一提的是,发现逻辑取决于该模型的现有维度属性。因此,建议您在执行发现过程之前采用您确定的尽可能多的维度信息。这样,生成的模型将更符合您的要求。

创建非标准化维度逻辑数据模型

在生成了标准化模型后,您需要进行非标准化,使模型适应您的业务需求。InfoSphere Data Architect 中的转换机制将帮助我们实现这个目标:

  1. 单击逻辑数据模型节点。
  2. 选择 Data > Transform > New Configuration
    图 6. 转换菜单
    屏幕截图显示选择新配置
    屏幕截图显示选择新配置
  3. 这将打开转换配置选项窗口。
  4. 指定 LDM2DLDM 进行配置。
  5. 选择 Logical Data Model to Dimensional-Logical Data Model 选项。
    图 7. 转换选项 — 转换文件名和类型
    屏幕截图显示了如何选择数据模型转换
    屏幕截图显示了如何选择数据模型转换
  6. 单击 Next
  7. 选择输入逻辑模型和输出文件夹,如下面的屏幕快照所示。
    图 8. 转换选项 — 转换输入文件和输出文件夹
    屏幕截图显示 RETAIL_SALES.ldm 是源,Project1 是目标
    屏幕截图显示 RETAIL_SALES.ldm 是源,Project1 是目标
  8. 单击 Next
  9. 在下一个屏幕选择以下选项。
    • 创建一个星型模式。
    • 在适当的时候创建日期和时间维度。
    • 启用 generate traceability 选项。
    图 9. 转换选项 — 转换模式类型、日期维度和可追溯性
    屏幕截图显示了如何指定转换选项
    屏幕截图显示了如何指定转换选项
  10. 单击 Finish
  11. 在打开的转换配置窗口中,单击 Run
  12. 创建一个名为 Package1_D.ldm 的新文件。这是逻辑模型的一个非规范化版本。
  13. 快速浏览一下文件,您将了解:
    • 已经添加了数据和时间实体。已经将它们归类为 Dimension 实体。
    • 标准化模型中的多个实体已经进行了非标准化,从而可使用更少的表格来表示数据。
    • 保留了 Dimension 实体。
    • 保留了 Fact 实体 Billing_Details。
      图 10. 非规范化维度逻辑模型
      屏幕截图显示了模型的 explorer 视图
    • Fact 实体中的数字列已归类为 Measure。
      图 11. Fact 实体中已归类的 measure 属性
      屏幕截图显示了 measure 属性的属性
      屏幕截图显示了 measure 属性的属性
  14. 仔细查看 Date 实体就会发现:
    • 已经创建了两个名为 FiscalYear 和 Year 的层次结构。
    • 它们已经定义了各个级别,分别对应于年、季度、月和日期。
    • 这些级别实际上与细分表格相关。 换句话说,查询可以回答出现的消息信息:
      1. 根据年份
      2. 根据季度
      3. 根据月份
      4. 根据日期
      图 12. Date 维度的分层结构
      屏幕截图显示了细分级别
  15. 单击 FiscalYear 级别并在 Properties 视图中检查它的属性。
  16. 每个级别都应该有一个标题属性。我们将在此刻把这个属性添加到我们的非标准化逻辑维度模型。
  17. 检查下面框中的标题列,查看 FiscalYear 级别。
    图 13. 为级别添加标题属性
    屏幕截图显示所选的标题
    屏幕截图显示所选的标题
  18. 为所有可用于 FiscalYear 和 Year 分层结构的级别重复上述流程。
  19. 查看 Store Billing Details 的 Fact 实体。
  20. 您可以推断出,现在已经与新创建的 Date 和 Time 实体建立了新的关系。
    图 14. 参考新实体 — Date 和 Time
    屏幕截图显示了日期和时间实体

创建非标准化多维逻辑模型的过程现在已经完成。到目前为止,您应该能够认识到,Fact 实体 Store Billing Details 已经获得了事务的实际数据,并且该实体位于 Center 中。各个事务的详细信息可以在围绕着它的 Dimension 实体中看到。这与星型模式相似吗?请继续阅读下面的图表部分。

请注意,有三种度量类型:非附加式、附加式和半附加式。从自动发现中划分出来的默认度量是附加式度量,其中 SUM 作为汇聚功能。您可以将附加式度量更新到其他汇聚功能,还可以划分非附加式度量和半附加式度量。

可视化您的多维模型

在创建了非规范化模型后,现在是您在特定于维度的图表中查看它们的好时机:

  1. 在 Data Project Explorer 中,右键单击 Diagrams 节点。
  2. 单击 New Dimensional Blank Diagram 菜单项。
    图 15. 创建多维数据图表
    屏幕截图显示了所选的新的多维空白图表
    屏幕截图显示了所选的新的多维空白图表
  3. 您可以看到已经创建了一个新图(图 1),图表编辑器在右侧打开。
  4. 选择您的标准化多维模型中的所有实体,并将这些实体拖放到图表编辑器中。
  5. 现在您应该在实体的所有 glory 中看到该模型。现在可以看到,该模型类似于一个星星。
    图 16. 星型模式如多维图所示
    图表显示了星型模型中的表格关系
    图表显示了星型模型中的表格关系

注意:顺便说一句,您可以使用图表编辑器右侧可用的 Dimensional 工具,直接添加图表中的维度实体。

发布模型

总是建议让您的组织的人员审查模型。为了推动这项工作,您可以用 HTML 格式发布您的当前模型,并在适用时在整个组织内分享该模型。以下是实现步骤:

  1. 右键单击 Package1_D.ldm 中的Package1
  2. 单击 Data >> Publish >> Web
  3. 填写如下所需信息。
    图 17. Web 发布 — 多维逻辑数据模型
    屏幕截图显示了 Web 屏幕上的 Publish
    屏幕截图显示了 Web 屏幕上的 Publish
  4. 单击 OK
  5. 打开 C:\MyDDLDMReport 文件夹中的 index.html。您应该看到整个模型已经转换为 HTML 格式。然后您可以在整个组织中共享它。

将非标准化多维逻辑数据模型转换为多维物理数据模型

在上面的小节中,我们已经请利益相关者审核了非标准化多维逻辑数据模型。在完成多维逻辑数据模型之前,可以根据利益相关者提供的反馈对多维逻辑数据模型进行更新,并继续审查流程。

在本小节,我们继续将非标准化多维逻辑数据模型转换为多维物理数据模型。

  1. 右键单击非标准化多维逻辑数据模型节点,然后在上下文菜单中单击 Transform to Physical Data Model
    图 18. 从上下文菜单转换为物理数据模型
    图像显示了如何从上下文菜单转换为物理数据模型
    图像显示了如何从上下文菜单转换为物理数据模型
  2. 在 Transform To Physical Data Model 向导中选择 Create new model,然后单击 Next
    图 19. 创建要转换的新模型
    图像显示创建要转换的新模型
    图像显示创建要转换的新模型
  3. Destination folderFile name 设置为其默认值。由于我们要将模型转换为® Linux®、UNIX® 和 Windows® V9.7 的 DB2,因此按如下方式选择数据库 DB2 用于 Linux、UNIX 和 Windows,版本为 V9.7,然后单击Next
    图 20. 指定用于转换的数据库、版本和位置
    屏幕截图显示指定用于转换的数据库、版本和位置
    屏幕截图显示指定用于转换的数据库、版本和位置
  4. 选择 Generate traceability,未来可将它用于对象跟踪;将 Schema 名称更新为 RETAIL_SALES,然后单击 Next
    图 21. 指定转换的选项
    图像显示了指定用于转换的选项
    图像显示了指定用于转换的选项
  5. 输出页面中会显示转换状态。单击 Finish 将生成多维物理数据模型。
    图 22. 转换完成
    屏幕截图显示转换已完成
    屏幕截图显示转换已完成

现在我们已经将通过多维符号生成的多维物理数据模型添加到源多维逻辑数据模型中。您可以将更多特定于数据库的信息添加到多维物理数据模型,但是我们此处不做过多介绍。

为了确保转换后的多维物理数据模型符合企业标准,总是建议您对模型进行分析。我们可以利用分析模型功能来分析转换后的多维物理数据模型。

分析转换后的多维物理数据模型

  1. 右键单击 Data Project Explorer 中的转换后的多维物理数据模型中的 RETAIL_SALES 模式,然后单击 Analyze Model
    图 23. 在转换后的多维物理数据模型上分析模型
    屏幕截图显示选择分析模型
    屏幕截图显示选择分析模型
  2. 在 Analyze Model 向导中,默认选择类别物理数据模型下的所有分析规则。在 InfoSphere Data Architect V7.5.3 中添加了七个规则,均可用于多维物理数据模型验证。单击 Finish 执行分析模型过程。
    图 24. 分析模型向导并分析用于多维建模的规则
    图像显示分析模型向导和分析规则,用于多维建模
    图像显示分析模型向导和分析规则,用于多维建模
  3. 分析结果显示在 Problems 视图中,类似于下面所示的屏幕快照。这里未发现错误消息。
    图 25. 分析转换后的多维物理数据模型的结果
    图像显示了转换后的多维物理数据模型的分析结果
    图像显示了转换后的多维物理数据模型的分析结果

从多维物理数据模型中生成 DDL

现在用户可以生成 DDL,在以后将它用于多维模式部署,并从多维物理数据模型执行以下操作:

  1. 右键单击 Data Project Explorer 中的模式节点 RETAIL_DETAILS ,然后单击上下文菜单项 Generate DDL
    图 26. 生成 DDL 菜单项,为所选对象生成 DDL
    图像显示生成 DDL 菜单项,为所选的对象生成 DDL
    图像显示生成 DDL 菜单项,为所选的对象生成 DDL
  2. 通过自定义选项来生成 DDL,并将 Generate DDL 向导中的选项设置为默认值,然后单击 Next
    图 27. 自定义选项生成 DDL
    图像显示自定义选项生成 DDL
    图像显示自定义选项生成 DDL
  3. 自定义对象来生成 DDL,并使 Generate DDL 向导中的对象成为默认,然后单击 Next
    图 28. 自定义对象生成 DDL
    图像显示自定义对象生成 DDL
    图像显示自定义对象生成 DDL
  4. 现在已经生成了模式 RETAIL_SALES 的 DDL,并将它保存到指定文件夹的指定文件中。在 Generate DDL 流程结束后,您可以在指定的服务器上运行 DDL,并打开 DDL 文件进行编辑。将属性设置为其默认值,并单击 Next
    图 29. 自定义保存和运行选项生成 DDL
    图像显示自定义保存和运行选项
    图像显示自定义保存和运行选项
  5. Generate DDL 向导的汇总页面列出了 Generate DDL 流程的详细信息。单击 Finish
    图 30. 生成 DDL 汇总
    图像显示了生成的 DDL 汇总
    图像显示了生成的 DDL 汇总

现在在 Retail_Sales 下生成了一个 DDL 文件 Script1.sql。可以在以后将它用于进一步的更新或部署。此处不再讨论有关的详细信息。

将多维物理数据模型转换为 Cubing/Cognos 模型

在上面的小节中,讨论了如何从非标准化多维逻辑数据模型转换为一个有效的多维物理数据模型。为了确保多维模型可以在业务智能工具内使用,我们需要将多维物理数据模型转换为 InfoSphere Warehouse Cubing 模型或 Cognos Framework Manager 模型。在 InfoSphere Data Architect V7.5.3 中,添加了一个新的转换,从而将多维物理数据模型转换为 Cubing/Cognos 模型。

将多维物理数据模型转换为 Cubing 模型:

  1. 右键单击多维物理数据模型节点,然后单击上下文菜单项 New > Transformation Configuration
    图 31. 创建新的转换配置
    图像显示创建新的转换配置
    图像显示创建新的转换配置
  2. 在 New Transformation Configuration 向导中,指定转换配置的名称和目标,选择转换Dimensional-Physical Data Model to Cognos/Cubing Model,然后单击 Next
    图 32. 指定配置名称和转换信息
    图像显示了如何指定配置名称和转换信息
    图像显示了如何指定配置名称和转换信息
  3. 选择模式 RETAIL_SALES 作为来自左侧树的源,并选择项目作为被转换模型的目标,然后单击 Next
    图 33. 指定转换源和目标
    图像显示指定转换源和目标
    图像显示指定转换源和目标
  4. 有四个属性可用于转换。前两个属性只在选择 Target dimensional model 作为 Cognos 模型时才有用。为属性 Name source of table and column for Logical/Dimensional View 选择 Name,并选择 Cubing Model 作为目标模型,然后单击 Finish
    图 34. 指定转换属性
    图像显示指定转换属性
    图像显示指定转换属性
  5. 在编辑器中打开转换配置。用户可以查看转换配置的属性和更新(如有必要的话)。单击工具栏按钮 Validate the transformation configuration 验证上面创建的转换配置,Console 视图中不应出现验证错误。
    图 35. 验证转换配置
    图像显示了验证转换配置
    图像显示了验证转换配置
  6. 单击 Run 运行转换流程。流程完成后,在目标项目中的 XML Schemas 文件夹下生成一个 Cubing 模型。
    图 36. 运行转换配置,生成 Cubing 模型
    图像显示了如何运行转换配置并生成 Cubing 模型
    图像显示了如何运行转换配置并生成 Cubing 模型

可按照上述步骤转换 Cognos 模型,但是有另外两个属性可用于向 Cognos 的转换。如需了解关于属性的详细介绍,请参阅 Information Center

将转换后的 Cubing/Cognos 模型导入 InfoSphere Warehouse/Cognos Framework Manager

现在我们从上节的转换获得了 Cubing 和 Cognos 模型,您可以将模型导入相关的产品,进行进一步的更新和部署。在本节中,我们将要把上面生成的 Cubing 模型导入 InfoSphere Warehouse Design Studio:

  1. 在 InfoSphere Warehouse Design Studio 中创建数据设计项目。
  2. 在上面的数据设计项目中通过 OLAP 创建物理数据模型。
    图 37. 通过 OLAP 创建新的物理数据模型
    图像显示了如何通过 OLAP 创建新的物理数据模型
    图像显示了如何通过 OLAP 创建新的物理数据模型
  3. 右键单击物理数据模型节点,然后从上下文菜单中选择 Import
    图 38. 导入 Cubing 模型
    图像显示了单击导入 Cubing 模型
    图像显示了单击导入 Cubing 模型
  4. 在将节点导入向导中后,请选择 Data Warehousing > OLAP Metadata,然后单击 Next
    图 39. 选择要导入的 OLAP 元数据
    图像显示了如何选择要导入的 OLAP 元数据
    图像显示了如何选择要导入的 OLAP 元数据
  5. 指定上面生成的 Cubing 模型和目标作为物理数据模型的数据库节点,然后单击 Next
    图 40. 指定要导入的源和目标
    图像显示指定要导入的源和目标
    图像显示指定要导入的源和目标
  6. 列出了要导入的 OLAP 对象。然后单击 Finish
    图 41. 已导入的 OLAP 对象的汇总
    图像显示了已导入的 OLAP 对象的汇总
    图像显示了已导入的 OLAP 对象的汇总
  7. 在弹出对话框中单击 OK 完成导入操作。然后将 OLAP 对象导入 Data Project Explorer 中的物理数据模型。
    图 42. 带有导入的 OLAP 对象的物理数据模型
    图像显示了带有被导入的 OLAP 对象的物理数据模型
    图像显示了带有被导入的 OLAP 对象的物理数据模型

在 Cubing 模型中,大多数 OLAP 对象是从 InfoSphere Data Architect 中的多维物理数据模型生成的,比如多维数据集模型、事实、维度、度量、分层结构和级别。但是不生成多维数据集。因此,您需要将多维数据集添加到 Cubing 模型中,然后才可以对其进行部署。InfoSphere Data Architect 多维模型和 InfoSphere Warehouse Cubing 模型之间还有其他一些差别。

结束语

我们已经完成了使用 InfoSphere Data Architect V7.5.3 并通过正向工程创建多维数据模型的工作流程。零售企业可以使用多维模式来完成数据库部署,并使用 Cubing 或 Cognos 模型来完成业务智能部署。

InfoSphere Data Architect 有助于加快从设计到部署的多维数据建模。您可以从 InfoSphere Data Architect 提供的功能中获得极大的益处,这些功能包括多维信息发现、模型非标准化到多维模式、从多维物理数据模型转换到 InfoSphere Warehouse Cubing 模型或 IBM Cognos Framework Manager 模型。

致谢

非常感谢 Erin Wilson、Qi Yun Liu 和 Bo Yuan 对本文的审阅。


下载资源


相关主题


评论

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

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management
ArticleID=765799
ArticleTitle=利用 IBM InfoSphere Data Architect 实现多维建模,第 1 部分: InfoSphere Data Architect 中的正向工程
publish-date=10172011