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

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

Power Query 提供了多种方法来创建和加载 Power 查询到工作簿中。 还可以在“查询 选项” 窗口中设置默认查询加载设置。

提示若要判断工作表中的数据是否按Power Query形状,请选择数据单元格,如果显示“查询上下文功能区”选项卡,则数据已从Power Query加载。 

选择查询中的单元格以显示

关于 Power Query 与 Excel 的集成

知道你处于哪个环境Power Query已很好地集成到 Excel 用户界面中,尤其是在导入数据、处理连接以及编辑数据透视表、Excel 表和命名区域时。 为了避免混淆,请务必随时了解当前处于哪个环境(Excel 或Power Query)。

熟悉的 Excel 工作表、功能区和网格 Power Query 编辑器功能区和数据预览
典型的 Excel 工作表 典型的Power Query 编辑器视图

例如,在 Excel 工作表中操作数据与 Power Query 有本质上的不同。 此外,你在 Excel 工作表中看到的已连接数据可能,也可能没有 Power Query 在后台进行工作处理数据。 仅当从 Power Query 将数据加载到工作表或 数据模型 时,才会发生这种情况。

重命名工作表选项卡 最好以有意义的方式重命名工作表选项卡,尤其是有很多工作表选项卡时。 阐明数据工作表与从Power Query 编辑器加载的工作表之间的差异尤其重要。 即使只有两个工作表,一个包含名为 Sheet1 的 Excel 表,另一个是导入该 Excel 表(称为 Table1)创建的查询,也很容易混淆。 最好将工作表选项卡的默认名称更改为对你更有意义的名称。 例如,将 Sheet1 重命名为 DataTable将 Table1 重命名为 QueryTable。 现在,可以清楚地看到哪个选项卡包含数据,哪个选项卡包含查询。

创建查询

可以从导入的数据创建查询,也可以创建空白查询。

从导入的数据创建查询

这是创建查询的最常见方法。

  1. 导入一些数据。 有关详细信息,请参阅 从外部数据源导入数据
  2. 选择数据中的单元格,然后选择“ 查询>编辑”。

创建空白查询

你可能想直接从头开始。 可通过两种方法执行此操作。

  • 选择“数据>从其他源获取数据>”“>空白查询”。
  • 选择“数据>获取数据>启动Power Query 编辑器”。

此时,如果你非常了解Power Query M 公式语言,则可以手动添加步骤和公式。

或者,可以选择“ 开始 ”,然后在“ 新建查询 ”组中选择命令。 执行下列操作之一。

  • 选择 新源 以添加数据源。 此命令与 Excel 功能区中的 “数据>获取数据” 命令类似。
  • 选择 最近源 从你一直在使用的数据源中进行选择。 此命令与 Excel 功能区中的“最近数据源”>命令类似。
  • 选择 输入数据 以手动输入数据。 可以选择此命令来试用独立于外部数据源的Power Query 编辑器。

加载查询

假设查询有效且没有错误,则可以将其加载回工作表或数据模型中。

从 Power Query 编辑器加载查询

在 Power Query 编辑器中,执行下列操作之一:

  • 若要加载到工作表,请选择“ 开始>关闭”&“加载>关闭 & 加载”。

  • 若要加载到数据模型,请选择“ 主页>关闭 & 加载>关闭 & 加载到”。

    在“导入数据 ”对话框中,选择“ 将此数据添加到数据模型”。

提示 有时, “加载到” 命令灰显或禁用。 首次在工作簿中创建查询时,可能会发生这种情况。 如果发生这种情况,请选择“ 关闭 & 加载”,在新工作表中,选择“ 数据>查询 & 连接>查询 ”选项卡,右键单击该查询,然后选择“ 加载到”。 或者,在Power Query 编辑器功能区上,选择“查询>加载到”。

从“查询和连接”窗格中加载查询

在 Excel 中,可能需要将查询加载到另一个工作表或数据模型中。

  1. 在 Excel 中,选择“ 数据>查询 & 连接”,然后选择“ 查询 ”选项卡。
  2. 在查询列表中,找到查询,右键单击查询,然后选择 加载到。 将显示 导入数据 对话框。
  3. 确定想要如何导入数据,然后选择 确定。 有关使用此对话框的更多信息,请选择问号 (?)。

编辑工作表中的查询

有几种方法可以编辑加载到工作表中的查询。

在 Excel 工作表中编辑来自数据的查询

  • 若要编辑查询,请找到以前从Power Query 编辑器加载的查询,在数据中选择一个单元格,然后选择“查询>编辑”。

从“查询 & 连接”窗格中编辑查询

如果在一个工作簿中有多个查询并且想要快速找到查询,则可能会发现 查询和连接 窗格更方便使用。

  1. 在 Excel 中,选择“ 数据>查询 & 连接”,然后选择“ 查询 ”选项卡。
  2. 在查询列表中,找到查询,右键单击查询,然后选择 编辑

从“查询属性”对话框编辑查询

  • 在 Excel 中,选择“数据>& 连接>查询”选项卡,右键单击查询并选择“属性”,在“属性”对话框中选择“定义”选项卡,然后选择“编辑查询”。

提示如果工作表中包含查询,请选择“数据>属性”,在“属性”对话框中选择“定义”选项卡,然后选择“编辑查询”。

编辑“数据模型”中表的查询

“数据模型”通常包含几个以某种关系排列的表。 通过使用 加载到 命令显示 导入数据 对话框,然后选中 将此数据添加到数据模式l 复选框,将查询加载到数据模型。 有关数据模型的更多信息,请参阅 了解在工作簿数据模型中使用哪些数据源在 Excel 中创建数据模型,以及 使用多个表创建数据透视表

  1. 若要打开数据模型,请选择“ Power Pivot>管理”。

  2. 在 Power Pivot 窗口的底部,选择所需表的工作表选项卡。

    确认显示正确的表格。 “数据模型”可以包含多个表。

  3. 请记下表的名称。

  4. 若要关闭 Power Pivot 窗口,请选择“ 文件>关闭”。 它可能需要几秒钟来恢复内存。

  5. 选择“ 数据>连接”&“属性>查询 ”选项卡,右键单击查询,然后选择“ 编辑”。

  6. 在Power Query 编辑器中完成更改后,选择“文件>关闭 & 加载”。

结果

已更新工作表中的查询和“数据模型”中的表。

向数据模型加载查询需要异常长的时间

如果发现将查询加载到数据模型所需的时间比加载到工作表的时间要长得多,检查Power Query步骤,以查看是使用 Contains 运算符筛选文本列还是列表结构化列。 此操作会导致 Excel 通过每行的整个数据集再次枚举。 此外,Excel 无法有效地使用多线程执行。 解决方法是尝试使用其他运算符,例如 EqualsBegins With

Microsoft 已意识到此问题,并正在进行调查。

设置查询加载选项

可以加载 Power Query:

  • 添加工作表。 在Power Query 编辑器中,选择“开始>关闭 & 加载>关闭 & 加载”。

  • 到数据模型。 在Power Query 编辑器中,选择“开始>关闭”&“加载>关闭 & LoadTo”。

    默认情况下,Power Query 在加载单个查询时将查询加载到新工作表,同时将多个查询加载到 DataModel 中。 可以更改所有工作簿或仅当前工作簿的默认行为。 设置这些选项时,Power Query不会更改工作表中的查询结果或“数据模型”的数据和注释。

    还可以使用“导入”对话框动态替代查询的默认设置,该对话框在选择“关闭 & LoadTo”后显示。

适用于所有工作簿的全局设置

  1. 在Power Query 编辑器,选择“文件>选项”和“查询选项”设置>。

  2. 查询选项 对话框中,在左侧的 全局部分下,选择 数据加载。

  3. 在“ 默认查询加载设置” 部分下,执行以下操作:

    • 选择 使用标准加载设置
    • 选择“ 指定自定义默认加载设置”,然后选择或清除“ 加载到工作表 ”或“ 加载到数据模型”。

提示 在对话框底部,可以选择“ 还原默认值 ”,以便方便地返回默认设置。

仅适用于当前工作簿的工作簿设置

  1. 在“ 查询选项 ”对话框左侧的“ 当前工作簿” 部分下,选择“ 数据加载”。

  2. 执行下列一项或多项操作:

    • 类型检测 下,选择或清除 检测非结构化源的列类型和标头

      默认行为是检测它们。 如果想要自行调整数据,请清除此选项。

    • 关系下,选择或清除 首次添加到“数据模型”时创建表之间的关系
      在加载到数据模型之前,默认行为是查找表之间的现有关系,例如关系数据库中的外键,并将其与数据一起导入。 如果希望自行执行此操作,请清除此选项。

    • 关系 下,在刷新加载到数据模型的查询时,选择或清除更新关系。

      默认行为是不更新关系。 刷新已加载到“数据模型”的查询时,Power Query 会发现表之间现有的关系,如关系型数据库中的外键,并更新它们。 这可能会删除在数据导入后手动创建的关系或引入新的关系。 但是,如果要执行此操作,请选择该选项。

    • 后台数据 下,选择或清除 允许在后台下载数据预览

      默认行为是在后台下载数据预览。 如果想要立即查看所有数据,请清除此选项。

另请参阅

Microsoft Power Query for Excel 帮助

在 Excel 中管理查询