在 Excel 中创建数据模型

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

数据模型允许您集成多个表中的数据,从而在 Excel 工作簿中有效地构建关系数据源。 在 Excel 中,数据模型以透明方式使用,提供数据透视表和数据透视图中使用的表格数据。 数据模型被可视化为字段列表中的表集合,大多数时候,通常通过数据透视表字段列表来处理它,可能没有注意到它在那里。 

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

先决条件

Power Pivot 在哪里?

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

Get & Transform (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) 导航器

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

注意

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

提示

如何判断工作簿是否具有数据模型? 转到“ PowerPivot>管理”。 如果看到类似工作表的数据,则模型存在。 请参阅: 了解工作簿数据模型中使用哪些数据源 以了解更多信息。

创建表间的关系

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

  1. 转到“ PowerPivot>管理”。

  2. “开始 ”选项卡上,选择 “图表视图”。

  3. 将显示所有导入的表,您可能需要花一些时间根据每个表的字段数调整它们的大小。

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

    • tbl_Students |学生证 > tbl_Grades |学生证
      换言之,将“学生 ID”字段从“学生”表拖动到“成绩”表中的“学生 ID”字段。
    • tbl_Semesters |学期 ID > tbl_Grades |学期
    • tbl_Classes |班级编号 > tbl_Grades |Class Number

    注意

    • 字段名称不需要相同即可创建关系,但数据类型需要相同。
    • 图表 视图 中的连接线一侧有“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 技术社区 中咨询专家,或在 社区中获取支持。

另请参阅

获取 & 转换和 PowerPivot 学习指南

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

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

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

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

数据模型中表之间的关系