在 Excel 中创建数据模型

应用对象
Microsoft 365 专属 Excel Excel 2024 Excel 2021

数据模型允许集成来自多个表的数据,从而有效地在 Excel 工作簿中构建关系数据源。 在 Excel 中,数据模型以透明方式使用,提供数据透视表和数据透视图中使用的表格数据。 数据模型被可视化为字段列表中的表集合,大多数情况下,你通常通过数据透视表字段列表来处理它,并且可能不会注意到它存在。 

在开始使用数据模型之前,需要获取一些数据。 为此,我们将使用 Power Query 获取 & 转换体验,因此 你可能想要后退一步并观看视频,或按照我们获取 & 转换和 Power Pivot 的学习指南进行操作。 数据应位于表 (而不仅仅是单元格区域) 中,以便可以正确加载和关联数据。

先决条件

Power Pivot 在哪里?

  • Microsoft 365 专属 Excel - Power Pivot 包含在功能区中。

Power Query) (获取 & 转换在哪里?

  • Microsoft 365 专属 Excel - 获取 & 转换 (Power Query) 已在“ 数据 ”选项卡上与 Excel 集成。

开始

首先,需要获取一些数据。

  1. 创建新工作簿或打开不包含数据的工作簿。

  2. 在 Microsoft 365 专属 Excel 的功能区上,选择“ 数据 ”选项卡。在 “获取 & 转换数据 ”部分中,选择“ 获取数据 ”,从任意数量的外部数据源导入数据,例如文本文件、Excel 工作簿、网站、Microsoft Access、SQL Server 或其他包含多个相关表的关系数据库。

  3. Excel 会提示你选择一个或多个表。 如果要从同一数据源获取多个表,请选中 “选择多个项 ”框。

    1. 选择“ 转换”。 选择多个表时,Excel 会自动创建数据模型。 有关详细信息,请参阅: 在 Excel 中创建、加载或编辑查询 (Power Query)

      注意

      对于这些示例,我们使用 Excel 工作簿,其中包含有关课堂和成绩的虚构学生详细信息。 可以下载 我们的学生数据模型示例工作簿 ,然后继续操作。 还可以 下载包含已完成数据模型的版本。

       (Power Query) Navigator 获取 & 转换

  4. 现在,数据模型包含导入的所有表,它们将显示在数据透视表 字段列表中

注意

  • 当您在 Excel 中同时导入两个或更多表格时,将隐式创建模型。
  • 使用 Power Pivot 加载项导入数据时,会显式创建模型。 在外接程序中,模型以类似于 Excel 的选项卡式布局表示,其中每个选项卡都包含表格数据。 请参阅 使用 Power Pivot 加载项获取数据 ,了解使用 SQL Server 数据库导入数据的基本知识。
  • 一个模型可以只包含一个表格。 若要仅基于一个表创建模型,请选择该表,然后单击 Power Pivot 中的“ 添加到数据模型 ”。 如果要使用 Power Pivot 功能,例如筛选数据集、计算列、计算字段、KPI 和层次结构,则可以执行此操作。
  • 如果您导入具有主键和外键关系的相关表格,将自动创建表格关系。 Excel 通常可以使用导入的关系信息作为数据模型中的表格关系基础。
  • 有关如何减小数据模型大小的提示,请参阅 使用 Excel 和 Power Pivot 创建内存高效数据模型
  • 有关进一步的探索,请参阅 教程:将数据导入 Excel 和创建数据模型

提示

如何判断工作簿是否有数据模型? 转到 Power Pivot>管理。 如果看到类似工作表的数据,则存在一个模型。 请参阅: 了解工作簿数据模型中使用的数据源 ,了解详细信息。

在表之间创建关系

下一步是在表之间创建关系,以便可以从其中任意一个拉取数据。 每个表都需要有主键或唯一字段标识符,如学生 ID 或班级号。 最简单的方法是拖放这些字段以在 Power Pivot 的 “关系图”视图中连接它们。

  1. 转到 Power Pivot>管理

  2. 在“ 开始 ”选项卡上,选择“ 关系图视图”。

  3. 将显示所有导入的表,可能需要花一些时间来调整它们的大小,具体取决于每个表的字段数。

  4. 接下来,将主键字段从一个表拖动到下一个表。 以下示例是学生表的关系图视图:
    Power Query 数据模型关系图视图
    我们已创建以下链接:

    • tbl_Students |学生 ID > tbl_Grades |学生 ID
      换句话说,将“学生 ID”字段从“学生”表拖动到“成绩”表中的“学生 ID”字段。
    • tbl_Semesters |学期 ID > tbl_Grades |学期
    • tbl_Classes |类号 > tbl_Grades |类号

    注意

    • 字段名称不需要相同即可创建关系,但它们确实需要是相同的数据类型。
    • 关系图视图中的连接器的一侧为“1”,另一侧为“*”。 这意味着表之间存在一对多关系,这决定了数据在数据透视表中的使用方式。 有关详细信息,请参阅 :数据模型中表之间的关系
    • 连接器仅指示表之间存在关系。 它们实际上不会显示哪些字段相互链接。 若要查看链接,请转到 Power Pivot>管理>设计>关系>管理关系。 在 Excel 中,可以转到 “数据>关系”。

使用数据模型创建数据透视表或数据透视图

Excel 工作簿只能包含一个数据模型,但该模型可以包含多个可在工作簿中重复使用的表。 可以随时向现有数据模型添加更多表。

  1. Power Pivot 中,转到 “管理”。
  2. 在“ 开始 ”选项卡上,选择“ 数据透视表”。
  3. 选择要放置数据透视表的位置:新工作表或当前位置。
  4. 单击“ 确定”,Excel 将添加一个空数据透视表,右侧显示“字段列表”窗格。
    Power Pivot 数据透视表字段列表

接下来, 创建数据透视表创建数据透视图。 如果已在表之间创建了关系,则可以在数据透视表中使用其任何字段。 我们已在学生数据模型示例工作簿中创建关系。

将现有的不相关数据添加到数据模型

假设你已导入或复制了大量要在模型中使用的数据,但尚未将其添加到数据模型。 将新数据推送到模型比您想象的更为简单。

  1. 首先选择要添加到模型的数据中的任何单元格。 它可以是任意数据范围,但格式为 Excel 表 的数据是最佳选择。
  2. 使用下面的一种方法添加数据:
  3. 单击“ Power Pivot>添加到数据模型”。
  4. 单击“ 插入>数据透视表”,然后在“创建数据透视表”对话框中选中“ 将此数据添加到数据模型 ”。

现在将区域或表格作为链接表添加到了模型。 要了解有关在模型中使用链接表的详细信息,请参阅在 Power Pivot 中使用 Excel 链接表添加数据

将数据添加到 Power Pivot 表

在 Power Pivot 中,不能像在 Excel 工作表中那样,通过直接键入新行向表格添加行。 但是,可以通过 复制和粘贴、更新源数据和 刷新 Power Pivot 模型来添加行。

需要更多帮助吗?

你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。

另请参阅

获取 & 转换和 Power Pivot 学习指南

在 Excel 中创建、加载或编辑查询(Power Query)

使用 Excel 和 Power Pivot 创建内存高效数据模型

教程:将数据导入 Excel 中并创建数据模型

了解工作簿数据模型中使用哪些数据源

数据模型中表之间的关系