函数效果 函数解释 检查单元格 H2 中的值是否存在于指定的单元格范围 I2:I10 中。如果存在,就返回 H2 单元格的值;如果不存在,则返回空白("")。...具体解释如下: 1、MATCH(H2, I2:I10, 0): MATCH 函数查找 H2 单元格中的值在范围 I2:I10 中的位置。 参数 0 表示进行精确匹配。...如果找到了匹配的值,MATCH 函数将返回匹配项在该范围中的相对位置(例如,找到匹配项在 I3,则返回 2,因为 I3 是在 I2:I10 范围中的第 2 行)。...如果未找到匹配项,MATCH 将返回错误值 #N/A。 2、ISNUMBER(MATCH(H2, I2:I10, 0)): ISNUMBER 函数用于检查 MATCH 函数的结果是否为一个数字。...如果结果为 FALSE(即 H2 的值在范围 I2:I10 中不存在),则返回空白 ""。
【注意】 在 Power BI 桌面版的选项中,可能还想查看【全局】【预览功能】选项卡,看看是否有什么吸引人的新功能。...表的名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,与其他工作表名称的冲突将通过在查询名称的末尾添加一个数字值来解决。...一旦完成,将会看到表在如图 1-15 所示位置显示出来。 【字段】列表(在报表窗格的右侧)。 【数据】标签。 【模型】选项卡。...在 Power BI 可以通过切换到【表工具】选项卡并选择相应的表来检查加载的总行数(如上节所述)。 这个功能对于定期更新的数据到文件中是非常有效的。...1.6.3 检查步骤 一旦回到 Power Query 编辑器后,就可以选择查询在【应用的步骤】窗口中的任意步骤,对查询进行检查。
为了进行【合并】,最好有一个列,在一个表中包含唯一的值,在另一个表中可以有重复的记录,这被称为一对多关系结构,该结构是确保最终得到的结果与所期望的一致的最好方法。...【注意】 Power Query 还支持一对一和多对多的连接。 在本例中,“SKU” 列在 “Inventory” 表中包含唯一值,而在 “Sales” 表中有重复记录,使用这一列连接两边。...这里保留是为了演示这些列不包含值,因为在 “COA” 表中没有找到匹配的记录。 10.2.2 右外部连接 该功能在 Power Query 叫做:【右外部 (第二个中的所有行,第一个中的匹配行)】。...为了避免意外产生的笛卡尔积,最好使用列分析工具来检查 “非重复值” 和 “唯一值” 的统计数据是否匹配如果 “非重复值” 和 “唯一值” 两个统计数据匹配,像本案例中 “SKU” 列一样(都是 “12”...筛选 “ID” 列,取消勾选 “null” 值。 总的来说,这是一个简洁的方法,但请相信,这就是在 Power Query 中执行近似匹配所需的全部步骤。
在这个示例中,检查跟踪非常清楚,因为 “Source” 步骤指向 “Jan 2008” 查询,可以清楚地看到另一个查询被【追加】到了这个数据上。...图 8-6 【查询 & 连接】窗格显示,“Transaction” 查询有 3,887 行记录 【注意】 要在 Power BI 中查看数据量,进入【数据】视图(在左侧),在【字段】列表中选择要查看的表...图 8-8 在一个步骤中添加多个追加项 或者,如果想要一次执行一个查询,并专注于创建一个易于使用的检查跟踪路径,那么可以在每次向数据源添加一个新的查询时采取如下操作。...图 8-20 新查询显示在所有工作簿查询的列表中 【注意】 如果在选择 “Source” 步骤时没有看到 “Certificates” 表,那因为 Power Query 已经缓存了数据预览。...至此,已经探索了用外部数据源的手动追加,以及如何为工作簿中的数据生成自动更新系统,有没有可能把这些合并起来,创建一个系统,可以推广到合并一个文件夹中的所有文件,而不必在 Power Query 中手动添加每个文件
Power Query 可以在 Power BI 或 Excel 中使用,很多人一开始就在想到底用哪个平台来使用 Power Query,其实不必为此纠结,总有一天会意识到需要把查询复制到一个另一个中的...在本章中,将探讨将查询从一个工具快速移植到另一个工具的方法。...但是,如果用户打开一个由其他人建立的解决方案,或者这个解决方案用到的数据源位置已经不同时,在将查询复制另一个位置之前,更新源文件路径是一个好主意。...将查询从 Power BI 复制到 Excel 和将查询从 Excel 复制到 Power BI 中一样简单,只要查询中没有使用在 Excel 中的 Power Query 不支持的数据源连接器。...这个表完全包含在 Power BI 中,如果需要对源数据做任何更改,必须在这里更新(在【刷新】时,对 Excel 文件的更新不会流入该文件)。
3.4 步骤级错误 在 Power Query 中触发两个最常见的步骤级错误如下所示。 无法找到数据源。 无法找到列名。...单击错误信息中的【编辑设置】按钮。 进入【主页 】【数据源设置】选择【更改源】。 【注意】 实际上,无需进入 Power Query 编辑器就可以访问数据源设置对话框。...在 Excel 中,可以在【数据】选项卡上的【获取数据】菜单的底部附近找到【数据源设置】。在 Power BI 中,可以在【主页】选项卡的【转换数据】区域中找到【数据源设置】。...3.5 值错误 虽然步骤级错误绝对是 Power Query 中最严重的错误,但它们不是用户将在 Power Query 中遇到的唯一错误。另一个常见的错误类型是值错误。...3.6 检查查询错误 由于现在已经解决了与数据源缺失有关的步骤级错误和 “Units Sold” 列中的值错误,那么现在将准备重新加载数据,具体做法如下所示。
图 6-1 在 Excel 中名为 “Sales” 表的数据 要将这些数据导入 Power Query。 单击表格中的任意一个单元格。...图 6-2 数据被直接导入 Power Query 中,打开预览窗口 【注意】 如果将 Power Query 在【应用的步骤】窗口中记录的步骤与 “CSV” 文件中记录的步骤进行比较,会注意到从表导入时...与任何数据源一样,当从 Excel 表导入时,Power Query 将获得数据,然后尝试为每一列设置数据类型。应该注意到,在这个过程中,Excel 工作表中的数据格式被忽略了。...图 6-9 Power Query 在当前 Excel 工作簿中看到的所有对象的列表 在底部的是刚刚创建的 “DynamicRange” 对象。...要检查的最后一件事是,在数据集下面是否有大量的空白行。如果发生这种情况,可以通过以下操作来去除它们。 选择数据集中的所有列。 进入【主页】【删除行】【删除空行】。
在 Power BI 和 Excel 2019 及更高版本(包括 Microsoft 365 )中,答案都是否定的。...图 2-3 在 Power Query 编辑器中 “Basic Import.csv” 文件的预览效果 很多用户有过这样的经验:建立了一个表,但在几个月后,业务变更导致需要调整表的列,如何确保在查询中用到的表是否包含需要的列...这些术语的效果是一样的,除非被查询链中的另一个查询调用,否则 Power Query 将永远不会执行这些仅以连接形式存在的查询。...在 Power BI 中可以单独配置每个查询,而 Excel 只允许用户在一个 Power Query 会话中创建的所有查询选择一个加载目的地(自 Power Query 编辑器可以在 Excel 中使用以来...图 2-16 更改 Excel 中的现有查询的目的地的方法是右击查询选择【加载到】 现在可以从【导入数据】菜单中选择另一个选项。在这种情况下,将选择与在第 1 章中的一致做法。 选择【表】。
图9-5 连接到数据源 从设置开始,在这里选择和配置需要使用的连接器,来连接到相应的文件夹。接下来,Power Query 会检查用户是否需要对数据源进行验证(如果需要,会提示用户进行验证)。...在验证了用户可以访问数据源之后,用户会得到初始预览窗口,此时用户可以选择【加载数据】,或者在加载前到 Power Query 编辑器中重新塑造数据。...此时,应该仔细检查列表中保留的文件。为了合并这些文件,它们不仅需要有相同的文件类型,而且必须有一致的内部结构。...Filtered Hidden Files1(筛选的隐藏文件1):添加一个筛选器,从文件列表中删除任何隐藏的文件(是的,Power Query 也会列出存储在文件夹中的隐藏文件和系统文件)。...【警告】 在拆分列时,Power Query 会自动添加一个“Changed Type”步骤。用户应该考虑一下这是否有必要。
Power Query 团队一直在研究这个功能,在编写本篇时,【网页连接器基础结构更新】功能已发布在 Power BI 的预览功能中,用来解决这个问题。...如果有,将在【导航器】窗口的左侧窗格中看到标题为 “HTML 表格” 的列表。相反,在这里看到的只是两个 “建议的表格”,Power Query 引擎从 HTML 文档的 CSS 推断出的表。...在【导航器】列表中选择 “Table1” 后,Power Query 将显示它所定义的表的预览。...图 11-12 最令人失望的结果 现在,用户需要非常仔细地复制在 Web 开发人员界面中执行的步骤,钻取 Power Query 的相应表元素。...希望 Power Query 团队将继续在这一领域开展工作,添加用户界面选项以增强体验,并希望永远不要再让人进入 HTML 地狱。 11.4.2 数据完整性 Web 数据的另一个主要问题是源和完整性。
Power Query 运行查询之后才能确定是否需要连接,因为数据是在代码中生成的或从其他数据源返回的。...也可以刷新引用 Power Query 参数的查询。 若要确定是否可以刷新动态数据源,请在 Power Query 编辑器中打开“数据源设置”对话框,然后选择“当前文件中的数据源” 。...根据官方的解释【其中的部分或所有信息在 Power Query 运行查询之后才能确定是否需要连接,因为数据是在代码中生成的或从其他数据源返回的。】...它是直接先检查第一个Web.Contents的url,如果这个url是个准确的不含参数的url,那么它的返回值就认为是固定的不会变的,在桌面端Power Query中是什么结果,上了云端也是什么结果。...很自然的,在桌面端Power Query中,调用自定义函数之前,一定是要有数据的,正常人不可能对一个空表进行自定义函数查询。
如果源表中有 100 万行,并且在不进行筛选的情况下将其加载到 Power BI 中,则最终在 Power BI 中拥有相同数量的数据行。...这取决于很多事情;列中唯一值的数量,有时是数据类型和许多其他情况。 简而言之:Power BI 将存储压缩数据,Power BI 中的数据大小将远小于其在数据源中的大小。...在 Power Query 中,可能不少操作是无法执行的。比如无法在此模式下执行合并数据源。你会收到这样的消息: 您的 DAX 表达式也受到限制;你不能写出所有类型的表达式。...实时连接中没有 Power Query 在 DirectQuery 中,您仍然可以执行简单的 Power Query 转换。但是在实时连接中 Power Query 根本不可用。...数据被加载到服务器的内存中,所有查询将立即得到解决。实时连接是此列表中的下一个选项,尤其是在使用 SSAS 表格或 Power BI 服务的情况下,因为这两种技术是内存技术并且比多维执行速度更快。
这一点至关重要,因为这意味着当数据被导入到另一个程序(如 Excel 或 Power BI )中时,必须对其进行解析。...5.1.2 程序如何解析平面数据 程序在解析数据时,需要知道如下三件事。 数据点是否由单个字符、一组字符或一致的宽度分隔。 一个完整的记录和另一个完整的记录是由什么字符或字符列分隔的。...在 Excel 的用户界面中,非打印字符被显示为一个方框中的小问号。在 Power Query 中,它们显示为一个空格。...确保筛选的列表中显示的所有值都是空白或空的。 或者,如果通过查看【视图】选项卡打开了【列质量】和【列分发】功能。那么用户将会在列的标题中得到一个的图表。...在 Excel 专业人员的世界里,这意味着又是一个繁琐的下午,需要导入、清理和重新格式化。但有了 Power Query ,这一切都会改变。 转到【获取数据】【数据源设置】。
Power Query整理图片识别出来的数据 我们在使用图片识别文字时常常会出现识别出来的文字是这样的,如果识别出来是这样的东西,它们的数据图片中是4列的,识别变成文字后是一列的: 数据的顺序是单位...) 返回值的新列表List.Range【取列表中的元素】List.Range List.Range(列表,索引值,个数)Table.FromRows【表来自行】Table.FromRows语法:Table.FromRows...) 返回值的新列表 List.Range【取列表中的元素】List.Range List.Range(列表,索引值,个数) Table.FromRows【表来自行】Table.FromRows语法:Table.FromRows...Table.FromRows行转表 【效果】 ===今天到此=== ========Power Query学习笔记==========1.PQ-整理一个乱七八糟的表2.PQ-计算总分再国际排名中国排名...3.PQ-批量“替换值”一次完成多个数值的“替换“4.PQ-分离中文数字英文5.PQ-透视列应用(把名单放进单元格)6.Power Query-汇总文件夹中多工作簿多工作表到一个文件7.Power Query
将数据加载到 Power Query 中。 创建一个新的查询,单击 “第 07 章 示例文件 \UnPivot.xlsx” 有数据的任意单元格,【数据】【自其他源】【来自表格 / 区域】。...从原始数据源导入的 “Total” 列可以被删除,因为可以简单地用【数据透视表】(或者 Power BI 中的 “矩阵”)重建它。现在来清洗这些数据,确保在未来不会遇到上述问题。...将 “Sales Category” 放在【行】上,“Date” 放在【列】上,“Units” 放在【值】上。 接下来,可以在同一数据集中建立另一个数据透视表。...由于 Power Query 默认情况下只扫描预览中的数据,用户偶尔会看到【列表可能不完整】的信息,并有一个可以单击【加载更多】的选项。...单击这个选项会要求 Power Query 扫描更多的数据,它会这样做,直到它扫描达到 1000 个唯一值为止,因为这是可以在下拉列表中显示的最大值。
备注为了演示此概念,本文将使用 Excel 工作簿作为其数据源。 此处展示的概念适用于Power Query中的所有值,而不仅仅是来自 Excel 工作簿的概念。...此演示的示例数据源是一个包含下表的 Excel 工作簿。Excel 工作簿中的此表在标准速率列中出现 Excel 错误,例如 #NULL!、#REF!和 #DIV/0!。...将此表导入Power Query编辑器时,下图显示了表的外观。请注意 Excel 工作簿中的错误如何随每个单元格中的值一起 [Error] 显示。本文介绍如何将错误替换为另一个值。...查找错误时提供替代值在这种情况下,目标是在示例数据源中创建新的 最终速率 列,该列将使用 标准费率 列中的值。 如果存在任何错误,它将使用相应 特殊速率 列中的值。...该catch关键字于 2022 年 5 月引入Power Query。提供自己的条件错误逻辑使用与上一部分相同的示例数据源,新目标是为 最终速率创建一个新列。
正文开始 想到Power Query是有循环函数的:Transform类函数。...实在是没招了,想起来大海老师的一篇文章: 你被Power Query里的随机数给“坑”了吗? 那就不重复造轮子了,按着这个改吧。...不过,从另一个侧面也可以看出来,本来我们以为List.Transform是可以循环的,但是在某些场景中,它暴露出来并不是循环的本质。 因此,解决办法3,无效。...的确,它只是我在MySQL和Python中生成UUID时,临时突发奇想而来,看看PQ是否也能实现同样的目的,通过向几位大神请教,获得了解决办法和解决思路。...在Power BI中处理带有UUID的表同样不是一个很好的想法。因为UUID非常长,很大程度上会明显增大模型的数据量,处理时间会拉长,影响效率。
数据隐私防火墙的用途很简单:存在以防止Power Query无意中在源之间泄露数据。为什么需要这一点? 我是说,你当然可以创作一些 M,它将SQL值传递给 OData 源。 但这将是有意的数据泄露。...Power Query功能的重要组成部分来自 PQ 可以通过用户界面将用户执行的操作转换为复杂的SQL或其他后端数据源语言,而无需用户知道上述语言。...是什么使两个数据源“兼容”? 为什么防火墙应该关心分区是否想要访问数据源并引用分区?让我们来分解一下,一次一条地查看上述规则。什么是分区?在最基本的级别,分区只是一个或多个查询步骤的集合。...如果不熟悉步骤,可以在“应用步骤”窗格中选择查询后,在Power Query 编辑器窗口右侧查看它们。 步骤可跟踪将数据转换为最终形状所做的一切。...引用另一个分区的分区必须获取防火墙的权限才能执行此操作,防火墙控制是否允许引用的数据进入分区。这一切都可能看起来相当抽象,因此让我们看看一个示例。
前段时间,有朋友在群里问,Power Query最难的函数是什么?有的说是List.Accumulate,有的说是List.Generate…… 而我说,最难的是each!...首先,each _ 是Power Query里为了简化自定义函数写法,而默认用来表示当前计算环境中的当前元素的一个特殊组合,没有为什么,就是这么规定的,你只需要记住这个规则,并慢慢理解它即可。...比如说,我们对一个表添加一个自定义列,公式写 = _ ,表中将新增一列,这一列里每个值,就是当前行的信息: 同时,我们看这个步骤生成公式为:Table.AddColumn(源,”自定义”, each...在上面的例子里,(x)代表的是“源”表的当前行,而再换一个函数,它所代表的内容可能完全不同,比如下面的例子: 这里面,x代表的是列表 {1..10}中的当前项。...比如Table.AddColumn,是针对“源”表一行行进行操作;List.Select则是针对列表一项项进行操作。
打开 Excel 看看「公式」选项卡是否有「插入 Python」按钮?如果没有,检查你的版本是否符合要求——这是解锁高效办公的第一道门槛。 先确认:你的 Excel 能跑 Python 吗?...必须用 Power Query) 由于 Excel 中的 Python 禁用本地文件读取,需先通过 Power Query 导入数据: 点击「数据 > 获取和转换数据 > 从文件 > 从 Excel...在 Power Query 编辑器中加载数据,点击「关闭并上载」,数据会显示在新工作表中(假设表名为「销售数据」)。...现在,整个流程能在 Excel 中闭环: 数据导入:Power Query 替代 pandas.read_excel,直接对接数据库、网页数据或本地文件。...分析计算:单元格中写 Python 代码,调用 pandas、numpy 等库,无需安装环境。 结果呈现:Python 输出直接转为 Excel 值,无缝对接图表、透视表等功能。