在表之间创建关系(教程)

在本课中,您将使用 PowerPivot 查看和创建来自不同数据源的数据之间的关系。关系是在两个数据表之间建立的连接,用于确立两个表中的数据应该如何相关。例如,DimProduct 表和 DimProductSubcategory 表基于每个产品属于某个子类别的事实具有某种关系。有关关系的详细信息,请参阅关系概述

PowerPivot 中的关系或者通过在 PowerPivot 窗口中手动“联接”表来创建,或者自动创建(如果在将数据导入到 PowerPivot 工作簿中时 PowerPivot for Excel 检测到现有关系)。可以通过联接包含类似或相同数据的列,在两个表之间创建关系。例如,DimProduct 表和 DimProductSubcategory 表通过两个表中都有的 ProductSubcategoryKey 列关联起来。这些列不必具有相同的名称,但是其名称通常相同。

先决条件

本主题是 PowerPivot for Excel 教程的一部分,该教程应按顺序学习。有关教程中的先决条件和第一个步骤的信息,请参阅PowerPivot for Excel 教程简介

为什么创建关系?

为了执行有意义的分析,数据源之间必须建立某种关系。更具体地说,使用关系,您可以:

  • 依据相关表中的数据列来筛选某一表中的数据。

  • 将来自多个表中的列集成到一个数据透视表或数据透视图中。

  • 使用数据分析表达式 (DAX) 公式轻松地查找相关表中的值。

查看现有关系

在您的 PowerPivot 工作簿中您已具有来自三个不同数据源的数据:

  • 从 Access 数据库导入的销售和产品数据。现有关系会自动与数据一起导入。

  • 从 Access 数据库导入的产品类别数据。

  • 从包含商店信息的 Excel 工作表复制或链接到此类工作表的数据。

查看现有关系

  1. 在 PowerPivot 窗口中单击**“设计”选项卡,然后在“关系”组中单击“管理关系”**。

  2. 在**“管理关系”**对话框中,应可以看到以下关系,这些关系是在导入第一个 Access 数据库时创建的:

    相关查找表

    DimProduct [ProductSubcategoryKey]

    DimProductSubcategory [ProductSubcategoryKey]

    FactSales [channelKey]

    DimChannel [ChannelKey]

    FactSales [DateKey]

    DimDate [Datekey]

    FactSales [ProductKey]

    DimProduct [ProductKey]

  3. 单击**“关闭”**。

在来自两个不同源的数据之间创建新关系

至此您查看了自动创建的关系,接下来将创建其他关系。

创建您的第一个关系

  1. 单击**“商店”**选项卡。

  2. 右键单击 GeographyKey 列标题,并选择**“创建关系”**。

    **“表”字段和“列”**字段将自动填充。

  3. 在**“相关查找表”**字段中,选择 Geography

  4. 在**“相关查找列”**字段中,选择 GeographyKey

  5. 单击**“创建”**。

  6. 在创建了该关系后,在列顶部将显示一个图标。将鼠标指针悬停在该图标上可以显示关系详细信息。

在 Access 和 Excel 数据之间创建更多关系

  1. 单击**“商店”**选项卡。

  2. 选择 StoreKey 列。

  3. 在**“设计”选项卡上,单击“创建关系”**。

    **“表”字段和“列”**字段将自动填充。

  4. 在**“相关查找表”**字段中,选择 FactSales

  5. 在**“相关查找列”**字段中,选择 StoreKey

    请注意**“相关查找列”字段旁边的图标。此图标表示正在按错误的顺序创建此关系。创建关系时,必须为“相关查找列”**选择具有唯一值的列。

  6. 颠倒顺序。将 FactSales 移到**“表”字段,并选择 StoreKey 作为“列”。选择 Stores 作为“相关查找表”,并选择 StoreKey 作为“列”**。

  7. 单击**“创建”**。

  8. 对于 DimProductSubcategory(作为表)和 ProductCategory(作为查找表)重复上述步骤,在这两个表中使用 ProductCategoryKey 列。

  9. 通过单击**“管理关系”**并查看列表,检查是否已成功创建所有关系。

下一步

要继续学习本教程,请转到下一个主题:创建计算列(教程)

请参阅

其他资源