Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Power Query 真经 - 第 4 章 - 在 Excel 和 Power BI 之间迁移查询

Power Query 真经 - 第 4 章 - 在 Excel 和 Power BI 之间迁移查询

作者头像
BI佐罗
发布于 2022-04-02 04:53:14
发布于 2022-04-02 04:53:14
8.2K00
代码可运行
举报
文章被收录于专栏:PowerBI战友联盟PowerBI战友联盟
运行总次数:0
代码可运行

Power Query 可以在 Power BI 或 Excel 中使用,很多人一开始就在想到底用哪个平台来使用 Power Query,其实不必为此纠结,总有一天会意识到需要把查询复制到一个另一个中的。这有可能是将查询从一个 Excel 工作簿中复制到另一个 Excel 工作簿中,从 Excel 复制到 Power BI,或者从 Power BI 复制到 Excel。在本章中,将探讨将查询从一个工具快速移植到另一个工具的方法。请记住,虽然本书的重点是 Excel 和 Power BI,但这些步骤对于任何承载 Power Query 的工具来说几乎是相同的,即使它包含在其他微软产品或服务中。

4.1 在工具之间复制查询

为了说明如何在工具之间迁移 Power Query 查询,这里先从一个在 Excel 中建立的查询链开始,其结构如图 4-1 所示。

图 4-1 简单查询链 Excel 文件中的查询工作流程

Data.CSV :CSV 格式数据 Raw Data:原始数据 Staging:暂存 Sales:销售 WorksheetTable:工作表

然而,在深入研究这个解决方案之前,需要确保数据源被正确地指向并保存在示例文件中。这将防止在探索解决方案之间移动查询的不同选项时,遇到与数据源有关的任何步骤级错误。

需按如下方式更新示例文件。

  1. 在 Excel 中打开以下工作簿:

“第 04 章 示例文件 / Simple Query Chain.xlsx”。

  1. 显示【查询 & 连接】选项卡。
  2. 右击 “Raw Data” 查询【编辑】。
  3. 进入【主页】选项卡【数据源设置】【更改源】选择【文件路径】【浏览】。
  4. 更新文件路径,使其指向以下文件:

“第 01 章 示例文件 / Basic Import.csv”。

  1. 【确定】【关闭】对话框。
  2. 转到【主页】【关闭并上载】。
  3. 保存工作簿。

【注意】 此时用户通常不需要执行上述步骤,因为用户很可能已经在本机电脑上使用了可以访问的数据源建立了查询。但是,如果用户打开一个由其他人建立的解决方案,或者这个解决方案用到的数据源位置已经不同时,在将查询复制另一个位置之前,更新源文件路径是一个好主意。

4.1.1 Excel 到 Excel

将从最简单的场景开始:将一个查询从一个 Excel 工作簿复制到另一个 Excel 工作簿。

需要做的第一件事是确保 Excel 的【查询 & 连接】窗格处于活动状态,因为将在这里找到要处理的查询列表。在这里,用户通常要做的是选择一个或多个他们想要复制的查询。

【查询 & 连接】窗格支持所有用户所期望的正常的鼠标选择方法,如下所示。

  1. 单击选择单个查询。
  2. 通过选择第一个查询时,按住 Shift 键并单击最后一个查询来选择连续的多个查询。
  3. 当只选择需要的查询时,可以按住 Ctrl 键选择非连续的一组查询。

【注意】 不支持用 Ctrl+A 来选择多个查询。

虽然选择查询可能是有意义的,但如果查询有依赖的前序查询,而用户没有选择它们(要么是因为忘记了,要么是没有意识到它),会发生什么?一起来看看吧。

  1. 右击 “Sales” 查询【复制(或选择它并按 Ctrl+C )】。
  2. 转到【文件】【新建】【空白工作簿】(在新的工作簿中)。
  3. 转到【数据】【查询和连接】。
  4. 右击【查询 & 连接】窗格的空背景 【粘贴(或者选择它并按 Ctrl + V )】。

此时,Power Query 不仅粘贴了复制的查询,还粘贴了构成该查询链的任何依赖的前序查询。同时也应该注意到,它也正确地观察到了每个查询的配置的加载目的地,如图 4-2 所示。

图 4-2 将 “Sales” 查询(仅)复制到一个新的 Excel 工作簿中

【注意】 当从一个 Excel 中复制到另一个 Excel 中时,这个效果符合预期,因为它意味着用户永远不会意外地忘记复制查询基础结构的关键部分。

当用户把整个查询链复制到一个解决方案中时(或者至少是一个不包含这个查询链的任何部分的解决方案),这个方法非常有效。但是,如果链的一部分已经存在了呢,会发生什么?例如,我们现在在新的工作簿里有 “Raw Data” 和 “Staging” 查询。那么,如果我们现在回去只复制 “Sales” 查询,会发生什么?当然,它将创建一个新的 “Sales” 查询副本,指向新工作簿中现有的 “Raw Data” 和 “Staging” 查询,不是吗?

  1. 回到原来的工作簿中去。
  2. 右击 “Sales” 查询【复制】。
  3. 返回到新的工作簿中。
  4. 右击【查询 & 窗格】中的空白区域【粘贴(或者选择它并按 CTRL + V )】。

正如将看到的,Power Query 不是整合和附加到现有的查询,而是重新创建整个查询链。如果名字已经用过了,它会在括号里加上数字字符,以区分哪些查询是相关的,如图 4-3 所示。

图 4-3 Power Query 重新创建查询链,而不是整合

这可能有点令人沮丧,因为用户会更希望可以有一个选择,可以在复制和粘贴过程中解决此问题。但以这种方式使用复制和粘贴功时,没有这种选项。

如果用户在这种情况下最终需要 “Sales (2)” 重新使用来自 “Staging” 的数据,而不是 “Stating (2)”,则需更新 “Sales (2)” 中的 “Source” 步骤,以便从 “Stating” 来读取数据而不是从 “Stating (2)” 读取数据。要做到这一点,需要进行如下操作。

  1. 编辑 “Sales (2)” 查询。
  2. 选择 “Source” 步骤。
  3. 更改公式栏中的公式,使其指向 “Staging” 查询,如下所示:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=Staging
  1. 关闭 Power Query 编辑器 ,允许数据更新。

这时可以删除 “Raw Data (2)” 和 “Staging (2)” 查询,因为它们将不再被使用。

【注意】 可以复制查询的源代码,并按上述方法创建它,但这涉及到使用【高级编辑器】的问题,将在本书后面的章节中探讨这个问题。

4.1.2 Excel 到 Power BI

现在已经知道了将查询从一个 Excel 文件复制到另一个 Excel 的基本知识,接下来就是如何将方案从 Excel 中复制到 Power BI 中。首先,按如下操作准备好,之后来做这件事。

  1. 关闭为前面的例子所创建的新工作簿。
  2. 打开 Power BI。
  3. 返回到 Excel 中的查询链工作簿。

现在,正如看到的,从 Excel 中复制到 Power BI 中的方法与从 Excel 中复制到另一个 Excel 中的方法非常相似,如图 4-4 所示。

  1. 右击 “Sales” 查询【复制(或者选择它并按 CTRL+C )】。
  2. 返回到 Power BI 文件。
  3. 转到【主页】【转换数据】。
  4. 右击【查询】导航器中的空白区域【粘贴】就像在 Excel 中一样,每个查询都将创建。

图 4-4 将查询从 Excel(左)复制到 Power BI(右)

此时,所要做的就是单击【关闭并应用】,数据就会开始加载了。

【警告】 只要查询是连接到外部数据源的,以这种方式复制的查询就能很好地工作。然而,如果数据源是一个 Excel 表,那么此时将会遇到挑战,因为 Power BI 没有自己的工作表。这将会由于无效的数据源而触发一个步骤级的错误。如果要移植一个基于 Excel 表的解决方案,需要导入查询,正如本章后面所讨论的那样。

4.1.3 Power BI 到 Excel

到现在为止,已经明白了用 Power Query 解决方案在应用程序之间移动是多么容易。那么,如果在 Power BI 中有一个查询,但由于某种原因需要在 Excel 中重新创建呢?没问题。

  1. 打开 Power BI 解决方案。
  2. 单击【查询】。
  3. 复制需要的内容。
  4. 切换到 Excel 并显示【查询 & 连接】窗格。
  5. 粘贴查询。

将查询从 Power BI 复制到 Excel 和将查询从 Excel 复制到 Power BI 中一样简单,只要查询中没有使用在 Excel 中的 Power Query 不支持的数据源连接器。

实际情况是,Power BI 比 Excel 包含更多的数据源连接器(其中很多都处于测试阶段)。此外与 Excel 不同的是 Power BI 还支持自定义连接器。

那么,如果把一个依赖于 Excel 中没有的连接器的解决方案复制到 Excel 中,会发生什么?将会得到一个如图 4-5 所示的步骤级表达式错误。

图 4-5 自定义 “WooCommerce” 连接器在 Excel 中不可用

(译者注:WooCommerce 是一个国际范围著名的电商程序,在国内应用较少,该连接器将允许 Power BI 可以直接从该电商程序中获取数据。)

【注意】 不幸的是,在 Power Query 团队为 Excel 中的给定连接器添加支持或提供在 Excel 中使用自定义连接器的方法之前,没有办法解决这个问题。所有建立在这类连接器上的解决方案只能在 Power BI 中运行。

4.1.4 Power BI 到 Power BI

好消息是,从一个 Power BI 实例复制到另一个 Power BI 实例是相当简单的。事实上,对于大多数用户来说,由于他们的电脑上只有一个版本的 Power BI 桌面版,直接复制在一个 Power BI 文件中有效的查询肯定也会在另一个文件中有效。

【警告】 有一种情况是:一个用户在本机电脑上运行多个版本的 Power BI 安装程序( Windows 商店、直接下载和 Power BI 报表服务器版本的组合),那么这类用户可能会遇到从较新版本复制和粘贴到较旧版本的 Power BI 桌面版的问题。这种类型的问题通常只在用户针对一个新的或升级的连接器建立一个解决方案,然后把它复制到旧版本的 Power BI 应用程序时才会出现。如果这种情况发生时,几乎肯定会得到一个步骤级别的错误,即一个参数或整个连接器不能被解决。

4.2 导入查询

虽然复制和粘贴查询肯定是将查询从 Excel 到 Power BI 中一种有效的方法,但也可以导入查询。那么,为什么有这种模式呢?

那就来比较一下不同的方法以及它们能够做什么,如表 4-1 所示。

复制粘贴模式

导入模式

原始的 Excel 工作簿

必须为开启状态

必须为关闭状态

复制 / 导入特定的查询

支持

不支持

复制 / 导入所有查询

支持

支持

导入数据模型结构

不支持

支持

导入度量值

不支持

支持

连接到 Excel 中的表

不支持

支持,但会将数据复制

表 4-1 比较了从 Excel 导入 Power BI 时 Power Query 的 不同方法

如果用户没有在 Excel 中使用 Power Pivot 数据模型,对于引用了原 Excel 工作簿中的表格的查询,应该 “导入模式”。正如本章前面提到的,将这些查询从 Excel 复制和粘贴到 Power BI 会导致步骤级错误,因为 Power BI 不识别 Excel 中的作为表格的数据源。当使用【导入】功能时,Power BI 给用户一个选择,即用户可以选择如何处理这些 Excel 中的表。

如果用户选择的导入模式是使用 Excel 数据模型,那么用户会立即看到不仅导入了查询,而且导入了关系、层次结构和度量值。

在本节中,将看三个不同的场景,展示不同的数据源如何影响导入过程。

4.2.1 仅外部数据源

首先,来看当用户将一个 Excel 文件导入 Power BI 时,同时 Excel 中查询只依赖于该 Excel 的外部数据源,会发生什么。

  1. 打开一个新的 Power BI 桌面文件。
  2. 转到【文件】【导入】【Power Query , Power Pivot , Power View】。
  3. 浏览在前面的例子中复制的 Excel 文件的查询结果: “第 04 章 示例文件 / Simple Query Chain.xlsx”【打开】。
  4. 单击【启动】。

此时,Power BI 将执行从文件中导入数据的过程,并在完成后显示结果,如图 4-6 所示。

图 4-6 成功导入 Excel 文件

此时,用户以为一切都经完成了,但实际上有几处还需要处理,如图 4-7 所示。

  1. 单击【关闭(关闭上面显示的对话框)】。
  2. 单击【应用更改(实际加载数据)】。

图 4-7 直到告诉 Power BI 【应用更改】,导入才算完成

按照正常理解,此时 Power BI 应该会执行查询,将数据加载到数据模型中,以便可以构建报告。但实际上这一切并没有发生,根本没有创建任何表,尽管单击了【应用更改】按钮。这到底是怎么回事?

这里不难体会到,虽然在 Excel 工作簿中该查询已经加载,且已基于此构建了透视表(PivotTables)和透视图(PivotCharts)等,但 Power BI 并不能识别或兼容 Excel 工作簿中 Power Query 加载以后的内容。它也不会对 Power BI 产生任何影响。任何没有加载到 Power Pivot 数据模型的 Excel 查询将只在 Power BI 中被设置为连接。

要解决这个问题,需要编辑查询的【启用加载】设置,如图 4-8 所示。

  1. 转到【主页】【转换数据】。
  2. 右击 “Sales” 查询,确保【启用加载】被选中。
  3. 转到【主页】【关闭并应用】。

图 4-8 加载到工作表的查询显示其加载被禁用

这一次,表才会被加载到数据模型中。

4.2.2 数据模型的导入

现在是时候导入一个包含数据模型的解决方案了,它的数据也来自于主机 Excel 工作簿中的表。图 4-9 显示 Excel 工作簿的查询依赖链的视图。

图 4-9 两个 Excel 表和十二个查询将生成四个表,加载到 Excel 的数据模型中

虽然理解这些查询的工作原理并不重要,但重要的是要认识到这两个表(Raw Data - Sales,Raw Data - Budgets)是存储在 “当前工作簿” 中的,也就是说,数据和查询都在同一个 Excel 文件中。

还应该知道,这个文件中的 Power Query 结构作为 ETL 层,为下面的 Power Pivot 数据模型服务,其中包括四个指定的表、四个关系和两个度量值(Sales 和 Budget),如图 4-10 所示。

图 4-10 显示的数据模型来源是由 Power Query 结构衍生出来的

最后,文件中有一个名为 “Report” 的工作表,其中包含基于数据模型的 PivotChart 和切片器,如图 4-11 所示。

图 4-11 基于 Excel 的报表,包含在 Simple Model.xlsx 文件中

这是一个相当简单的基于 Power Query 和 Power Pivot 的解决方案,用户可以建立这个解决方案,它显示了这些工具是如何很好地协同工作的。如果想更详细地了解它,可以在示例文件中找到如下文件:

“第 04 章 示例文件 / Simple Model.xlsx”。

(译者注:这是一个经典的案例,虽然此处并不讲解如何建立这个模型,但该案例文件却展示了大多数业务人员所面对的场景,用 Power Query 处理数据,并将数据加载到 Excel 数据模型(Power Pivot),并基于数据模型构建关系,计算列,度量值进而创建透视表进行分析。这是一个标准的通用套路。)

假设新用户从同事那里拿到这个模型文件,然后用户决定需要将解决方案转移到 Power BI 中。这将带来一个挑战,所有的数据、查询、数据模型和 BI 报告都在同一个文件中,而用户还不知道原同事建立它的所有逻辑。当然,用户可以一次性选择 Excel 文件中的所有查询,然后把它们复制到一个新的 Power BI 文件中,正如本章前面所讨论的。但是,虽然这样做会导入查询,但它不会导入关系和度量值。这样用户就需要手动重新创建,这可能是非常痛苦。

4.2.3 导入时复制数据

基于前面讨论的模型的复杂性,要确保尽可能容易地将其从 Excel 转移到 Power BI 。

Power BI 的【导入】功能正是为了处理这种情况而建立的,来探讨一下它是如何工作的吧。将从如下方法从 Excel 文件中导入内容。

  1. 打开一个新的 Power BI 桌面文件。
  2. 转到【文件】【导入】【Power Query, Power Pivot, Power View】。
  3. 浏览到以下位置的文件:

“第 04 章 示例文件 / Simple Model.xlsx”。

  1. 选择该文件【打开】。

【注意】 从 Excel 工作簿中导入的能力并不依赖于 Excel 程序。(译者注:即使电脑没有安装 Excel,而直接使用 Power BI 导入 .xlsx 中的数据模型也是可以的。)

一旦单击出现的对话框中的【启动】选项,将得到一个选择,如图 4-12 所示。

图 4-12 想要如何导入 Power BI 数据呢

现在,使用默认选项【复制数据】 ,这将启动查询和数据模型组件的导入,如图 4-13 所示。

图 4-13 Power BI 已成功导入查询、数据模型和度量值

到目前为止,一切看起来都很好。事实上,如果单击 Power BI 桌面窗口左侧的【模型】按钮。则会看到数据模型结构,包括关系、度量值,甚至字段的可见 / 隐藏状态都已经正确导入,如图 4-14 所示。

图 4-14 Excel 中的数据模型已经全部导入到 Power BI 中

转到 Power BI 的报告页面,可以快速复原 Excel 中的图表,如图 4-15 所示。

  1. 在 Power BI 窗口的左侧选择【报告】页面。
  2. 转到【可视化】窗格,选择【簇状柱状图】。
  3. 进入字段列表,展开 “Sales” 勾选 “Sales” 度量值。
  4. 进入字段列表,展开 “Budgets” 勾选 “Budget” 度量值。
  5. 进入字段列表,展开 “Calendar” 勾选 “Month Short” 字段。

图 4-15 虽然在图片中很难看到,但 “Calendar” 甚至是按照正确的顺序排序的

这是相当惊人的,因为一切看起来都很好。至少,在【刷新】解决方案之前它是这样的。但如果单击【刷新】将会令人失望,如图 4-16 所示。

4-16 这是怎么回事

【注意】 如果刷新后没有报错,说明和这里的情况有所不同,处于学习目的,建议用户通过本节示例文件来学习,了解情况。

为了解决这个问题,此时需要编辑这些查询。先看一下其中一个原始数据查询,看看 Power BI 是如何复制 Excel 表的。

  1. 转到【主页】【转换数据】。
  2. 选择 “Raw Data - Budgets”。会立即发现有些地方不对,如图 4-17 所示。

图 4-17 为什么 “Date” 列所有的值都显示为 “Error”

在阅读错误信息时,可以看到该列正试图将 “43131” 设置为一个日期。但是这个数字是怎么来的呢?

  1. 选择 “Source” 步骤,单击齿轮图标。

在这里看到的是 Power BI 在文件中创建的表,这是从 Excel 中复制数据的结果。有趣的是,它的 “Date” 列中不包含日期,而是包含一列数值,如图 4-18 所示。

图 4-18 “Date” 列为什么会有这么多数值而不是日期

在这个特定的步骤中,有如下三件事一定要注意到。

  1. 这个表完全包含在 Power BI 中,如果需要对源数据做任何更改,必须在这里更新(在【刷新】时,对 Excel 文件的更新不会流入该文件)。
  2. 所有的日期都被复制为日期序列号(自 1900 年 1 月 1 日以来的天数),而不是可识别的日期。
  3. 在这一步中,Power BI 显示的数据量是有限制的。如果超过了这个限制,Power BI 就不允许用户编辑这个表,因为这个表是使用压缩的 JSON 格式创建的,如果超过了这个限制,就不能直接编辑 Power Query 公式来增加数值。

虽然查询中是有错误的,但并没报错,这并不是用户操作的问题。

(译者注:Power BI 在导入的时候,实际是将查询导入为查询,将数据模型导入为数据模型,这是分开进行的,导入的数据模型是一定与 Power BI 数据模型兼容的,因此,数据模型中不会报错;而导入的查询,并没有执行,因此也不会报错。直到点击【刷新】运行查询,看到错误。)

在关闭这个对话框并返回到 “Changed Type” 步骤后,仍然会遇到这样的错误,它报错称不能将 “43131” 的值设置为日期。所以来重写 “Changed Type” 步骤。

  1. 选择 “Date” 列并单击【日期】数据类型图标。
  2. 将数据类型改为【整数】。
  3. 选择【替换当前转换】(不是【添加新的步骤】)。

结果错误消失了,现在看到的是满满一列的整数(代表日期序列号),如图 4-19 所示。

图 4-19 我们有我们的日期序列号

【注意】 一个奇怪的细微差别是,“Date” 列顶部的错误栏可能继续显示为红色。如果发生这种情况,要么暂时忽略它,要么选择另一个查询,并返回到 “Raw Data - Budgets” 查询,以强制它更新。

因此,虽然这是一个进步,但显然仍还不理想,因为仍希望将数据类型设置为【日期】。但问题是,如果把 “Date” 列改为使用【日期】数据类型,并替换掉包含在 “Changed Type” 步骤包含的现有数据类型,那么将回到错误开始时的位置。相反,此时需要按如下步骤进行操作。

  1. 选择 “Date” 列并单击【整数】数据类型图标。
  2. 将数据类型更改为【日期】。
  3. 选择【添加新的步骤】(不是【替换当前转换】)。结果将完全符合要求,如图 4-20 所示。

图 4-20 “Date” 列数据正常显示

记住,如第 3 章数据类型和错误中所述,一旦更改了数据类型,任何后续的更改都将基于这个输出。虽然不能将一个基于【文本】类型的数值改为【日期】类型,但可以将【文本】类型更改为值,然后将值类型更改为【日期】。

现在这已经完成了,也需要对 “Raw Data – Sales” 查询采取同样的步骤。要做到这一点,需要进行如下操作。

  1. 选择 “Raw Data – Sales” 查询。
  2. 选择 “Date” 列并单击【日期】数据类型图标。
  3. 将数据类型更改【整数】。
  4. 选择【替换当前转换】(不是【添加新的步骤】 )。
  5. 选择 “Date” 列(再次)并单击【整数】数据类型图标。
  6. 将数据类型更改为【日期】。
  7. 选择【添加新的步骤】(不是【替换当前转换】)。

完成此操作后,就可以通过进入【主页】【关闭并应用】,让 Power BI 应用这些改变来最终完成查询。然后,数据就会顺利加载。

【警告】 Power BI 导入 Excel 表格并将其转换为 JSON 表格的方法有一个与专门与导入日期列有关的错误。在这个错误被修复之前,导入任何一个带有日期列的 Excel 表到 Power BI,都需要做上述的调整。

尽管在数据类型方面存在缺陷,但这个功能对于从 Excel 导入数据模型到 Power BI 中是非常有效的。而且就像原来的 Excel 解决方案一样,它完全包含在一个文件中,Power BI 的解决方案也是如此,这使得它非常容易与别人分享,而无需更新数据源。

尽管如此,使用这种方法也有一些潜在的危险。请记住,当完成后,需要对源数据进行的任何更新都需要编辑 “查询” 和更新 “Source” 步骤。这可能会使事情变得很尴尬,因为不仅要编辑和导航查询结构来编辑源数据,而且它往往很慢,因为必须等待查询预览更新。但即使是这些问题也不是真正的杀手,一旦表超过了一定的大小,Power BI 就会拒绝让用户做任何进一步的修改,告诉用户该表超过了大小限制,如图 4-21 所示。

图 4-21 对不起,无法修复在 “Raw Data – Sales” 查询中发现的不正确的记录

The Table exceeds the size limit:表大小超过了限制。

【注意】 实际工作中,不会将 Excel 中的表作为数据库且不再更新,不仅导入时会限制大小,又无法很好地处理。出于这个原因,建议用户尽量少使用这个功能。建议从外部文件(无论是 Excel 工作簿、数据库或任何其来源)导入数据,而不是将其存储在同一文件中。

4.2.4 导入时保持连接

前面的示例通过将数据复制到文件中,从 Excel 中导入了一个数据模型,但这是两种不同的选项之一。另一种方法是,不将数据从 Excel 复制到 Power BI 文件中,而是与保存数据的 Excel 文件建立一个连接。

虽然这确实会产生风险,即用户必须更新一个外部文件的路径,但它避免了与日期有关的错误,以及无法在数据源中添加行或修改记录的风险。数据将继续存在于 Excel 文件中,这意味着在 Excel 文件中进行的任何添加、删除或更新都只需简单的刷新即可。

来重做之前的例子,但这次选择创建一个与 Excel 文件的连接,而不是复制数据。这样做的步骤如下。

  1. 打开一个新的 Power BI 桌面文件。
  2. 转到【文件】【导入】【Power Query, Power Pivot, Power View】。
  3. 浏览到以下位置的文件:

“第 04 章 示例文件 \Simple Model.xlsx”。

  1. 选择该文件【打开】。
  2. 单击【启动】【保持连接】。

【注意】 虽然【复制数据】选项被推荐为默认选择,但【保持连接】才是一个更好的方法。

同样,Power BI 将导入数据并创建数据模型、关系和度量值。再一次,可以快速建立前一个例子中的簇形柱状图,如图 4-22 所示。

  1. 选择 Power BI 窗口左侧的报告页面。
  2. 进入【可视化】窗格,【簇形柱状图】。
  3. 进入字段列表,展开 “Sales”,选择 “Sales” 度量值。
  4. 进入字段列表,展开 “Budgets”,选择 “Budget” 度量值。
  5. 进入字段列表,展开 “Calendar”,选择 “Month Short” 列。

图 4-22 这看起来很熟悉

此时,用户可能会认为所有结果都与前面示例中的结果相同。唯一的区别是,在本例中,数据仍然存在于 Excel 文件中,数据是从那里导入的,而不是复制它并把数据存储在 Power BI 文件中。所以现在,如果 Excel 文件移动了。用户需要通过编辑查询来更新数据源,或者通过以下方式更改数据源。

  1. 【主页】【转换数据】【数据源设置】。

实际上,这个具体的解决方案有一个非常大的区别。Power BI 应用于将查询指向 Excel 文件的结果,在不需要任何修改的情况下,查询会被刷新,如图 4-23 所示。

图 4-23 这就是希望从副本中获得的进展

4.3 在工具之间迁移查询的思考

现在已经对在 Excel 和 Power BI 文件之间轻松移动查询的方法有了充分的了解。一般的经验法则如下。

  1. 如果想要特定的查询或查询组,并且不考虑数据模型,那么只需复制和粘贴。
  2. 如果想把整个解决方案从 Excel 转移到 Power BI 中,请导入它(最好是选择保持与 Excel 文件的连接) 。

目前没有涉及的一个解决方案是,从 Power BI 导入到 Excel 的方法。不幸的是,由于 Power BI 的数据模型版本比 Excel 的数据模型版本更新,并且支持许多新的功能,微软并没有提供一种方法来实现这一点。乍一看,这意味着要把解决方案从 Power BI 移动到 Excel 中,唯一的方法是复制和粘贴查询,然后手动重建数据模型。

Ken 的 Monkey Tools 插件确实包含一个将 Power BI 模型导入 Excel 的功能。虽然它显然不能创建 Excel 的数据模型不支持的项目,但它可以重建查询结构、多对一关系和度量值。而且它甚至还提供了一个未能正确导入的列表。无论用户只想提取和导入查询,还是整个数据模型,Monkey Tools 都可以轻松完成这一任务。如图 4-24 所示。

图 4-24 使用 Monkey Tools 将 Power BI 模型导入到 Excel 中

【注意】 可以在 Ken 的网站上了解更多关于这个插件的信息,并可以下载一个免费试用。

(译者注:在实际中,由于 Power BI 数据模型中支持的 DAX 特性已经远远超过 Excel 数据模型支持的范围,所以一般不存在把 Power BI 数据模型导入到 Excel 中的需求。另外,即使需要从 Excel 中使用 Power BI 数据模型,也可以通过透视表直接连接 Power BI 数据模型。具体可以参考译者网站。)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-03-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI战友联盟 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Power Query 真经 - 第 9 章 - 批量合并文件
合并来自多个文件数据的传统方法是极其繁琐和容易出错的。每个文件都需要经历导入、转换、复制和粘贴的过程。根据转换数据量的大小和复杂程度、文件的数量以及解决方案运行的时长,这些问题可能形成可怕的积累效应。
BI佐罗
2022/07/07
5.5K0
Power Query 真经 - 第 9 章 - 批量合并文件
Power Query 真经 - 第 2 章 - 查询管理
在深入到 Power Query 数据转换的广阔世界之前,最好先确保为将来的成功做好准备。从实际来说,往往一开始的项目或案例都很小,但随着时间的推移,最终会变得越来越复杂。本章描述的方法将有助于确保随着问题的规模变大和复杂性增加,也可以应对。
BI佐罗
2022/04/02
3K0
Power Query 真经 - 第 2 章 - 查询管理
Power Query 真经 - 第 7 章 - 常用数据转换
分析师面临的普遍问题是,无论从哪里获得数据,大部分情况都是一种不能立即使用的状态。因此,不仅需要时间把数据加载到文件中,还得花更多的时间来清洗它,改变它的结构,以便后续做分析的时候能更好的使用这个数据。
BI佐罗
2022/05/17
8K0
Power Query 真经 - 第 7 章 - 常用数据转换
Power Query 真经 - 第 6 章 - 从Excel导入数据
毫无疑问,对于开始就以表格形式处理数据的人来说,最简单的方法之一是打开 Excel 并开始在工作表中记录数据。虽然 Excel 并不是真正打算充当数据库的角色,但这正是实际发生的事情,因此 Power Query 将 Excel 文件和数据视为有效数据源。
BI佐罗
2022/05/17
17.1K1
Power Query 真经 - 第 6 章 - 从Excel导入数据
Power Query 真经 - 第 8 章 - 纵向追加数据
数据专业人员经常做的工作之一是将多个数据集追加到一起。无论这些数据集是包含在一个 Excel 工作簿中,还是分布在多个文件中,问题是它们需要被纵向【追加】到一个表中。
BI佐罗
2022/05/17
7.3K0
Power Query 真经 - 第 8 章 - 纵向追加数据
Power Query 真经 - 第 1 章 - 基础知识
Power Query 的设计目的就是在业务分析师使用数据之前将数据加载到目标区域的表中。收集数据并将其重塑为所需的格式,Power Query 处理数据的基本流程,如图 1-1 所示。
BI佐罗
2022/04/02
5.4K0
Power Query 真经 - 第 1 章 - 基础知识
如何选择数据分析可视化工具?Excel, Tableau还是Power BI?
正确分析使用数据可能会挖到宝藏。那么,作为个人或公司,如何选择分析和可视化数据的工具?
大数据文摘
2020/11/09
9.5K0
如何选择数据分析可视化工具?Excel, Tableau还是Power BI?
Power Query 系列 (01) - Power Query 介绍
Power Query 是微软提供的工具,Excel 2013 版作为插件加载使用,从 Office 2016 版开始,Power Query 的功能集成到 Excel 中,可以直接使用。微软推出 Power BI Desktop 后,一系列的工具,比如 Power Query, Power Pivot, Power View 等,都集成在其中。Power Query 定位查询,中文一般翻译为超级查询,主要作用是连接不同种类的数据源,进行数据的转换。下图来自微软官方对 Power Query 的介绍,可以帮助理解。Power Query 主要实现连接和转换功能。
StoneWM
2019/08/30
6K0
Power Query 真经 - 第 11 章 - 处理基于 Web 的数据源
使用 Power Query 的一个非常有趣的场景是,可以利用它从 Web 上抓取与业务相关的数据,并用它来丰富自己的公司数据。数据通常以两种不同的方式之一存储在 Web 上。
BI佐罗
2023/03/01
3.4K0
Power Query 真经 - 第 11 章 - 处理基于 Web 的数据源
Power Query 真经 - 第 3 章 - 数据类型与错误
本章专门讨论 Power Query 新手会面临的两个常见问题:理解 Power Query 是基于数据类型(而不是数据格式)的工具,以及如何理解和处理 Power Query 查询中的错误。
BI佐罗
2022/04/02
6.1K0
Power Query 真经 - 第 3 章 - 数据类型与错误
Power Query 真经 - 第 10 章 - 横向合并数据
导语:Power Query 是可证明的,在这个星球上性价比最高的数据处理工具,如果你的工作中需要处理数据,注意,是处理,不是分析,那么此工具必须掌握。对此,90%的鼠标点击,5%的猜测以及5%的公式能力足以。本文来自《Master Your Data》的第十章,非常重要,必须掌握。
BI佐罗
2022/12/18
4.7K0
Power Query 真经 - 第 10 章 - 横向合并数据
Power Query:批量合并文件(使用“文件夹”连接器)
在Power Query中,使用文件夹连接器合并文件时,会以相同的方式处理文件夹及其子文件夹中的所有文件,然后合并结果。
Exploring
2024/01/02
7210
Power Query:批量合并文件(使用“文件夹”连接器)
Excel Power Query与Power Pivot结合:TOP-N对象贡献度分析
TOP-N分析法通常用来分析客户、店铺或产品对于整体的贡献度问题。本节内容我们需要指定N个门店,分析这N个门店的产品销售总金额或毛利润对于整体的贡献度,如图所示。 在这个模型中,我们可以根据实际业务的需求,去个性化地选择以产品销售总金额或毛利润为观察对象,分析每个大区的前3名、前5名、前10名及所有门店的业绩对于整体业绩的贡献情况。 该模型主要的功能在于可以根据选择的指标动态地进行筛选,方便我们实时把握贡献最大的TOP-N的门店,开展有针对性的经营活动。下面介绍一下这个模型的具体的建立步骤。 第一部分:数
博文视点Broadview
2023/04/04
1.9K0
Excel Power Query与Power Pivot结合:TOP-N对象贡献度分析
使用Power Query处理数据(一)
PowerQuery是一个微软创建的基于Excel的免费插件,可以在Excel2010(及更高版本)使用。在Excel 2016及PowerBIDestop中已经内置。
数据山谷
2020/12/09
1.6K0
使用Power Query处理数据(一)
Power Pivot里那么多表,都是从哪里来的?
当Power Pivot数据模型里的表很多的时候,到底这些表都是从哪儿来的?如果某个表的数据源需要改变,到底从哪改?
大海Power
2021/08/31
6560
Power Query 系列 (18) - 参数化查询
参数化查询增加了查询的灵活性。Power Query 可以设置和管理参数,同一工作簿下所有查询都可以使用。
StoneWM
2021/03/25
2.6K0
Excel Power Query抓取多个网页数据并配合Power Pivot进行分析
本节内容使用Excel的Power Query和Power Pivot组件,抓取多个网页数据,进行清洗、建模和分析。 第一部分:从网页动态抓取数据 使用Power Query不仅可以获取本地的Excel文件数据,还可以获取网页数据。 本节介绍如何使用Power Query获取新浪网新浪体育频道的新浪直播室网页中的足球排行榜数据,主要获取列表中的全部赛季的球队数据,赛事主要获取前5项数据(前5项赛事的数据结构是相同的),如图所示。 网址: http://match.sports.sina.com.cn/fo
博文视点Broadview
2023/04/04
3.9K0
Excel Power Query抓取多个网页数据并配合Power Pivot进行分析
一次性学懂Excel中的Power Query和Power Pivot使用
👆点击“博文视点Broadview”,获取更多书讯 传统的Excel单表虽然可以有100万行数据的承载量,但是在实际分析时,20万行的数据就已经让传统的Excel非常吃力了。 但是,如果使用Excel中的Power Query和Power Pivot商务智能组件,即使是上百万行数据,也可以在短时间内快速完成处理和分析。 Power Query在Excel和Power BI Desktop中都是内置组件,并且管理界面和知识体系保持了高度一致。 其实,Power BI中的Power Query和Power P
博文视点Broadview
2022/10/10
9.8K0
一次性学懂Excel中的Power Query和Power Pivot使用
使用Power Query之前一定要这样设置你的Excel
Power Query堪称神器,以极低的学习成本帮我们在Excel和Power BI中自动化很多数据处理工作。但是,稍微不注意,你制作的自动化工具可能就会埋下地雷,在下次刷新数据时爆炸。这个地雷是什么?如何排除?
wujunmin
2021/09/07
1.9K0
使用Power Query之前一定要这样设置你的Excel
Excel Power Query学习:如何合并两个Excel工作簿
Excel Power Query功能强大,但我一直没有涉足,因为Excel太博大精深了,光是Excel本身的功能、Excel公式与函数、VBA就够研究的了。然而,新的东西总是要接触的,毕竟也是Excel的一部分。后续会学习一些这方面的知识并与大家分享。本文主要学习整理自stringfestanalytics.com,供参考。
fanjy
2022/11/16
2.1K0
Excel Power Query学习:如何合并两个Excel工作簿
推荐阅读
相关推荐
Power Query 真经 - 第 9 章 - 批量合并文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验