Power Query 101

注意: 本文已完成其工作,随后将不再使用。 为防止出现“找不到页面”问题,我们将删除已知无效的链接。 如果创建了指向此页面的链接,请删除这些链接,以便与我们一起为用户提供通畅的 Web 连接。

在本教程中,你将使用 Excel 的 Power Query 体验创建从网页导入数据的查询。 作为此过程的一部分,您将在网页上可用的表间导航,并应用数据转换步骤以仅显示想要查看的数据。 Power Query 会记录所有步骤,每次刷新数据时都会重复这些步骤。

步骤 1:连接到维基百科页面

Excel 2016:"数据"选项卡上,单击">"来自 Web 的其他>查询"。 如果看不到"新建查询"按钮,请单击"数据">"从Web"。

Excel 2010-2013:"Power Query"选项卡上,单击"从 Web"。 如果看不到"Power Query"选项卡,请确保已下载并安装了 Power Query 加载项

  1. 在"从 Web"对话框中,将"维基百科 URL" (http://en.wikipedia.org/wiki/UEFA_European_Football_Championship) 粘贴到 "URL"文本框中。

    Power Query > 自网站 >“输入 URL”对话框
  2. 单击“确定”。

    建立与网页的连接后,可在"导航器"窗格中看到此维基百科页面上可用的 列表。 可以单击每个表,查看右侧窗格中显示的快速预览。

    Power Query > 自网站 > 导航器表格视图

  3. 双击" 结果[编辑]" 表,查询编辑器将打开并包含锦标赛数据。

返回页首

步骤 2:塑造数据

在查询编辑器中打开表后,可以清理和调整数据,以便它符合你的需要。 在此步骤中,你将通过删除除"年份"和"最终获胜者"以外的所有列来调整数据。

  1. 在"查询预览"网格中,使用Ctrl+单击选择"年度"和"最终获奖者"列。

  2. 单击"删除列>删除其他列"。

    Power Query >查询编辑器>列

步骤 3:清理数据

在此步骤中,你将通过替换值并筛选数据来清理数据。

  1. 选择" 年份" 列。

  2. 在查询编辑器中,单击"替换值"。

  3. 在"替换值"对话框中,在"要查找的值"文本框中键入"详细信息",将"替换为"文本框留空。

  4. 单击“确定”。

    Power Query >查询编辑器>替换值

步骤 4:筛选列中的值

现在,你将筛选"年份" 列以显示 不包含"年份"的行。

  1. 单击"年份"列上的筛选器 下拉 箭头。

  2. 在"筛选器"下拉列表中,取消选中"年份"。

  3. 单击“确定”。

Power Query - 查询编辑器>筛选以清理数据

步骤 5:命名查询

现在,可以命名已创建的查询。

在"查询设置"窗格的"名称"文本框中,输入"欧洲杯获奖者"。 如果单击" 所有属性" 链接,还可以在"说明"文本框中 输入查询 说明。

Power Query >查询编辑器>查询设置

步骤 6:将查询加载到工作表

最后,现在可以将欧洲杯 获胜者 查询加载到工作表。

  1. 在左上角,单击"关闭"&加载"。

    Power Query 将查询结果返回到工作表。

    如果需要以后更新数据,请右键单击数据区域中的任何位置,然后单击"刷新"。 来自网页的任何新信息都将自动更新。

步骤 7:发现后台发生的情况

  1. 单击数据中的任意位置,在"查询"选项卡上,单击"编辑"。

  2. 在右侧,请注意"应用 的步骤"列表。 执行查询活动时,已创建查询步骤。 每个查询步骤都有一个以"M"语言编写的对应公式。

  3. 下面是每个步骤的说明:

查询步骤

任务

公式

来源

连接到 Web 数据源

= Web.Page (Web.Contents ("http://en.wikipedia.org/wiki/UEFA_European_Football_Championship") )

导航

选择要连接的表

= Source{2}[Data]

更改的类型

更改类型 - Power Query 会自动执行此操作

= Table.TransformColumnTypes (Data2,{{"Year", type text}, {"Host", type text}, {"", type text}, {"最终获胜者",键入 text},{"最终得分",键入 text},{"最终成绩",键入 text},{"2",键入 text},{"第三名匹配第三名",键入 text},{"第三名匹配分数",键入 text},{"第三名匹配第四名",键入 text},{"3",键入文本},{"团队数",键入 text}})

RemovedOtherColumns

删除其他列 以仅显示感兴趣的列

Table.SelectColumnshttps://docs.microsoft.com/en-us/powerquery-m/table-selectcolumns

= Table.SelectColumns (#"Changed Type",{"Final Winner", "Year"})

ReplacedValue

替换" 值"以清理所选列中的值

Table.ReplaceValue

= Table.ReplaceValue (#"Removed Other Columns","Details","",Replacer.ReplaceText,{"Year"})

FilteredRows

筛选 列中的值

Table.SelectRowshttps://docs.microsoft.com/en-us/powerquery-m/table-selectrows

= Table.SelectRows (#"Replaced Value",每个 ([Year] <> "Year") )

单击 Power Query 功能区中的"高级编辑器"选项即可查看 M 代码的全部内容。 有关 Power Query 公式语言的详细信息,请参阅了解 Power Query 公式

需要更多帮助吗?

可随时在 Excel 技术社区中咨询专家,在解答社区获得支持,或在 Excel User Voice 上建议新功能或功能改进。

另请参阅

Power Query 在 Excel 2016 中称为“获取和转换”

从外部数据源导入数据

使用 Power Query 形状数据

需要更多帮助?

扩展你的 Office 技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×