本篇文章主体部分为翻译Chris Webb的一篇文章。 合并查询在Power Query中是很成熟的应用,相当于SQL中的各种JOIN(抽时间会写几篇SQL的join,算是SQL的小核心)。...但同时,在Power Query中合并查询是一个常见的影响刷新效率的因素。在我的工作中,经常会遇到对一些非文件夹性质的数据源进行合并查询操作,所以我一直在想,有没有办法可以对其进行优化。...: 表中列的数量是否影响合并查询时的效率?...首先,我对这个CSV文件创建了两个连接,按照惯例,将第一行转为标题,将7列数字全都定义为整数格式。...参考文档: Chris Webb https://blog.crossjoin.co.uk/2020/05/31/optimising-the-performance-of-power-query-merges-in-power-bi-part
在Power Query中当出现错误时,会出现的错误提示的原因,如图。 ?...那有没有可能自定义这些提醒的内容呢?可以的,在Power Query中可以使用error语句,自定义错误时返回的提示内容,那具体怎么操作呢? 有3方式可以实现。 1....这里需要注意的是,记录中的3个字段名是固定的,对应error错误中的提示内容位置,其中Reason为必要内容。前面2个参数只能是文本格式,而最后一个Detail字段可以为文本格式,也可以为记录格式。...] then error Error.Record("运算错误", "格式错误", [方法1="去掉数字中的引号...这里的Error.Record函数里的3个参数分别代表了记录中的3个字段 如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。
Power BI在表格矩阵条件格式和列、值区域均可以放入图像,支持URL、Base64、SVG等格式。同样的图像在不同的区域有不同的显示特性。...接着,我们进行极小值测试,将图像度量值调整为5*5,可以看到条件格式显示效果不变,但是列的图像变小。 另一端极大值测试,将图像度量值调整为100*100,显示效果似乎与36*36没什么不同。...以上测试可以得出第一个结论:条件格式图像的显示大小和图像本身的大小无关;列值的图像显示大小既受图像本身大小影响,又受表格矩阵格式设置区域的区域空间影响。 那么,条件格式图像大小是不是恒定的?不是。...还是36*36的正方形,这里把表格的字体放大,可以看到条件格式的正方形图像也对应放大,列值的图像没有变化。 所以,条件格式图像的大小依托于当前列值的文本格式。...换一个场景,对店铺名称施加排名条件格式(SVG图像),为该列设置背景色,可以看到背景色穿透了本应存在的缝隙,条件格式和列值融为一体。
另一件需要注意的事情是,这些数据类型中的每一个都是不同的,这将对用户如何从一种数据类型转换到另一种数据类型产生影响,图 3-2 显示 Power Query 数据类型。...需要声明数据类型的第一个原因是,所有的 Power Query 函数都需要输入特定数据类型,而且,与 Excel 不同的是 Power Query 不会隐式地从一种数据类型转换为另一种数据类型。...3.5 值错误 虽然步骤级错误绝对是 Power Query 中最严重的错误,但它们不是用户将在 Power Query 中遇到的唯一错误。另一个常见的错误类型是值错误。...在 Excel 中可能允许的这样做,因为 Excel 在 “Units Sold” 列乘以 10 之前,会隐含地将 “Units Sold” 列转换为数值类型,而 Power Query 则会反馈:“不...在 Power Query 可以将 21:00 转换为时间数据类型的地方,由于 “:” 字符的存在,它不能将其转换为整数。
上一篇文章我们讲解了在Power BI中使用Python来获取数据的一些应用: 【强强联合】在Power BI 中使用Python(1) 这一篇我们将继续讲解如何在Power BI中使用Python进行数据清洗工作...其实我们仔细看一下场景1和场景2,它们之间是个逆过程,场景1是从Python获取数据传递到Power BI,而场景2是Power BI或者Power Query获取了数据,用python来处理。...前文我们讲过,Python与Power BI的数据传递是通过Dataframe格式的数据来实现的。 Python的处理结果以Dataframe形式输出,M将Dataframe自动转换为Table格式。...举个简单的例子: 首先我们进入Power Query管理器界面,通过新建一个空查询,并建立一个1到100的列表,再将其转换为表: = {1..100} ?...dataframe格式数据,“loc=1”代表在第一列数据后插入一列,列名是“add_100”,值是“Value”的值+100,第一行是1,add_100列第一行就是101,以此类推: ?
其实,Power BI中的Power Query和Power Pivot最早是以Excel为载体的。...换句话说,Power BI中的Power Query和Power Pivot组件的功能和语法等方面都是一样的。...… 4.4.4 each _与(x)=>的关系 4.4.5 为公式添加注释 第5章 常用的M函数实战详解 5.1 各种数据类型之间的相互转换 5.1.1 将值转换为文本 5.1.2 将值转换为数值 5.1.3...将值转换为日期 5.2 List和Table的批量转换实战 5.2.1 批量转换函数List.Transform的实际应用 5.2.2 批量转换函数Table.TransformColumns的实际应用...5.7 参数与自定义函数 5.7.1 参数的设置方法 5.7.2 实例:创建和调用自定义函数将一列拆分为多列 第6章 Power Query综合实战 6.1 数据获取综合实战 6.1.1 实例1:获取并合并
Power Query 可以在 Power BI 或 Excel 中使用,很多人一开始就在想到底用哪个平台来使用 Power Query,其实不必为此纠结,总有一天会意识到需要把查询复制到一个另一个中的...这有可能是将查询从一个 Excel 工作簿中复制到另一个 Excel 工作簿中,从 Excel 复制到 Power BI,或者从 Power BI 复制到 Excel。...在本章中,将探讨将查询从一个工具快速移植到另一个工具的方法。...4.1.2 Excel 到 Power BI 现在已经知道了将查询从一个 Excel 文件复制到另一个 Excel 的基本知识,接下来就是如何将方案从 Excel 中复制到 Power BI 中。...图 4-17 为什么 “Date” 列所有的值都显示为 “Error” 在阅读错误信息时,可以看到该列正试图将 “43131” 设置为一个日期。但是这个数字是怎么来的呢?
图 8-13 Power Query 如何知道 “TranDate” 列值应该进入 “Date” 列呢 当【追加】两个表时,Power Query 将从第一个查询中加载数据。...右击 “Name” 列【替换值】。 将 “_” 字符替换为 “ 1 ”(空格 1 空格)。(译者注:为了构成日期格式形态,为了后续转换。) 选择所有列【转换】【检测数据类型】。...图 8-21 假设下一步是将 “Name” 列转换为日期 接下来是检查 “Changed Types” 步骤,它试图将 “Name” 列中的所有数据类型转换为【日期】类型,但这显然不能用于 “Certificates...筛选 “Name” 列【文本筛选器】【结尾为】“Print_Area”【确定】。 将 “Name” 列中的 “'!Print_Area” 文字替换为空白(【替换为】不输入任何东西)。...将 “Name” 列中剩余的文本(“'”)替换为空。 展开 “Content” 列(取消勾选【使用原始列名作为前缀】复选框)。 注意,这里的情况有所不同。
这一点至关重要,因为这意味着当数据被导入到另一个程序(如 Excel 或 Power BI )中时,必须对其进行解析。...因此,它将该数据视为文本,并将其放置在一个单元格中。 该程序试图将 45.67 转换为一个值。当转换成功后,该值被放置在一个单元格中。(如果转换不成功,它将被视为文本)。...【注意】 记住,用【使用区域设置】转换的整个目标是告诉 Power Query 如何解释一个基于文本的值,并将文本转换为正确的数据类型。...筛选该列。 确保筛选的列表中显示的所有值都是空白或空的。 或者,如果通过查看【视图】选项卡打开了【列质量】和【列分发】功能。那么用户将会在列的标题中得到一个的图表。...图 5-18 一个不同的值,但没有空值,是这样吗 在这一列的情况下,可以看到,虽然只有一个值,但它没有填充空单元格。
图 1-9 列标题显示 “Changed Type” 步骤结果 这个步骤背后的逻辑是,Power Query 已经扫描了每一列的前 200 个值,并对这些列的数据类型做出了判断。...现在,如果决定重命名另一列,会发生什么?会再次得到一个新的步骤吗?一起来找出答案。就像在 Excel 中有多种方法处理同一个问题一样,在 Power Query 中也有多种方法处理同一个问题。...虽然可以单击每一列左上方的图标来选择适当的数据类型,但这可能会花费相当多的时间,特别是当大量的列需要处理时。另一个技巧是让 Power Query 为所有列设置数据类型,然后覆盖想更改的数据类型。...表的名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,与其他工作表名称的冲突将通过在查询名称的末尾添加一个数字值来解决。...工作表名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,名称太长的情况可能会被截断,与其他现有表格名称的冲突的情况,将通过在查询名称的末尾添加括号内的数字值来解决。
(此处并无返回值) pandas获取列 通过空查询新建表 = #table({"ID","VALUE"},{{1,"A"},{2,"B"},{3,"C"}}) ?...至此,便获取了表中的 ID 列。 ?...总结: 在power query 中 python 使用 dataset 变量来访问当前表的数据; dataset 是 pandas 中 的 DataFrame; 使用python语法对 dataset...的行和列进行操作,可以添加、删除、修改、过滤等 使用python导出表 使用POWER BI进行数据清洗和转换的过程中,经常会得到一张行数很多的表,而在POWER BI中导出表不太方便(少量数据可以直接复制粘贴...) df.to_excel("D:/源.xlsx", index=None) 至此,便成功将power query 中的文件导出至本地。
一、简介 相比Power BI,Power Query和Power Pivot在行列层级运行计算,Excel一直以来主要还是在单元格层面上的。...近年Excel提供了动态数组运算能力和一系列相关函数,能够类似于Power BI那样,直接在行列层级运算。一方面节省了公式填充复制的工作量,另一方面为更复杂的计算提供了可能性和便捷性。...TEXTSPLIT - 跨列或/和行按指定的分隔符拆分字符串。 TOCOL - 将数组或范围转换为单个列。 TOROW - 将范围或数组转换为单行。...WRAPCOLS - 根据每行指定的值数将行或列转换为二维数组。 WRAPROWS - 根据每列指定的值数将行或列重新整形为二维数组。 TAKE - 从数组的开头或结尾提取指定数量的连续行或列。...无法删除结果数列中的任意值 动态数组生成的结果,是一个整体,无法像平常excel列那样,删除其中任意的值。 3. 不支持超级表和Power Query 预告:下期将会逐步介绍动态数组函数的应用
如果是已经把数据导入到Power BI里面了,才想起来还需要编辑数据,怎么办呢? 可以在功能栏点击“转换数据”,就会显示Power Query编辑页面。...(4)查询设置:列出查询的属性和已应用步骤。 选中要编辑的列名,鼠标右键,可以出现:从表中删除列、以新名称复制列或替换值。通过此菜单,还可以更改数据类型。...选择“关闭并应用”后,Power Query编辑器将应用更改后的数据到 Power BI。 image.png 5.如何添加更多数据源? 如果要向现有报表添加更多数据源,在功能栏中选择“新建源”。...Power BI 的可视化效果和建模工具最适用于列式数据,也就是我们通常看到的Excel按每一列名排列的数据。 但是,有时候给到你的是按行来排列的,如何实现行列转置呢?...点击Power Query编辑器中的“转置”,可以将行替换为列。 image.png 操作步骤动图演示: image.png 推荐:人人都需要的数据分析思维 image.png
正确的做法是:将总销售额除以销售的产品总数,并且计算过程根本用不到 [Price] 列。 计算列中的计算结果是静态的:仅在创建列或者刷新 Power BI 模型时这些值才会被计算。...实际上,我们在 Power BI 模型上执行的大部分工作都可以归结为设计并应用 DAX 度量值。 在 Power BI 报表中使用事实表中的数字列时,列的值将被执行聚合运算。...对于你们所有人来说,最好隐藏模型中会遮盖有用表、列和度量值的元素。 关系中的外键列应当隐藏:主键上相同的值,并且会正确地筛选关系的另一端。 不在报告中展示的技术(键)列应当隐藏。...该列命名为 ZZ,这样它就会处在度量值表的最底部,而不是一堆度量值中间。此列及其中的值永远不会被使用,因此您可以将“OK”替换为您喜欢的任何内容。结果如图3.7所示。...图 3.7 Power BI Desktop 的数据视图(左)和报表视图(右)中的度量值表 您也可以在 Power Query 中创建度量值表,例如,通过“输入数据”选项。
不使用星型架构建模的另一个缺点是,用 DAX(Power BI 模型的建模语言)编写的公式会变得更加复杂。当所有数据都位于一个大表中时,可能会出现一些计算错误。...图 4:Power BI Desktop 中的自动日期时间设置 默认情况下,此设置处于启用状态。但是这个时间智能功能实际上是做什么的呢?让我们将单个表导入到 Power BI 模型中。...如果只保留日期本身,则一年中只有 365 个(或可能 366 个)唯一值。将日期截断为日期级别将再次产生高压缩优势。如果您确实需要 time 部分,最好将其放在单独的列中。...由于 Power BI 只允许您创建单列关系,因此将表中的多个列连接在一起以创建唯一键可能很诱人。但是,这将导致列具有非常高的基数(等于表中的行数),如果最终结果是文本字符串,则压缩将非常糟糕。...SalesOrderNumber 另一个有趣的观察结果是,每个数据列在表中包含两次。一次作为实际日期,一次作为整数(列名以 结尾)。
另一个原因是,在实际的业务中,单个列中的许多值是相同的;例如,几千或几万种产品往往对应着数以百万计的销售交易记录。此时,列式数据库可以通过仅存储一次特定值并记录它所属的行来高度压缩数据。...在Power BI 模型中,通过 Power Query 加载数据时,会将所有数据类型统一转换为 Text。很显然,当您忘记在 Power Query 中显式进行类型转换时,数字列也会存储为文本。...为了实现高效的模型,为数据选择合适的数据类型至关重要。Power BI 模型旨在尽可能高效地将一系列唯一值存储在列中。...哈希编码列的工作方式不如数值编码列高效,因为数据库每次使用这一列时都需要在这些数字和值之间进行转换。 需要强调的一点是,Power BI 模型会根据列中的数据类型和值选择最佳编码形式。...Power BI和关系型数据库中的关系之间,还有另一个重要区别是筛选器传递(filter propagation)。Power BI 模型中的关系会主动筛选数据。
如果是已经把数据导入到Power BI里面了,才想起来还需要编辑数据,怎么办呢? 可以在功能栏点击“转换数据”,就会显示Power Query编辑页面。...(4)查询设置:列出查询的属性和已应用步骤。 选中要编辑的列名,鼠标右键,可以出现:从表中删除列、以新名称复制列或替换值。通过此菜单,还可以更改数据类型。...选择“关闭并应用”后,Power Query编辑器将应用更改后的数据到 Power BI。 image.png 5.如何添加更多数据源? 如果要向现有报表添加更多数据源,在功能栏中选择“新建源”。...Power BI 的可视化效果和建模工具最适用于列式数据,也就是我们通常看到的Excel按每一列名排列的数据。 但是,有时候给到你的是按行来排列的,如何实现行列转置呢?...点击Power Query编辑器中的“转置”,可以将行替换为列。 image.png 操作步骤动图演示: image.png 推荐:人人都需要的数据分析思维
文章背景: 透视列(Pivot)和逆透视列(Unpivot)是在Excel当中经常使用的一对数据聚合和拆分方法,在Power BI中也提供了同样的功能。...透视,或者称为列的透视,是一维表转换到二维表的过程;逆透视,或者称为列的逆透视,是把二维表转换到一维表的过程。 1 逆透视列 逆透视列可以将列转换为行,并对数据进行拆分操作。...因此,当数据源中出现新列时,也不会被进行逆透视操作。 2 透视列 透视列操作是将列下所有的N个非重复数据转换成N个新列,然后对原始数据进行汇总合并来计算新列中的每一行值。...Power BI会提示季度列中的内容会被用来创建新列,值列所选择的销售额则会根据季度列中的内容进行聚合求和操作来生成相应的列值。.../zh-cn/power-query/unpivot-column)
图3 图4 如果需要将表格中日期列的“.”替换为可识别的日期连接符,则在【查找内容】 框中分别输入错误的符号“.”和“\”,【替换为】框中输入“-”或者“/”符号, 再单击【全部替换】按钮即可完成。...TEXT函数——将单元格值转换为特定格式的文本,在《从零到一学Excel》一书的 3.3 节中有讲解。 第 1 个参数选择需要转换的单元格;第 2 个参数设置为想要转换的单元格格式。...图7 REPLACE函数——将字符串中的部分字符用另一个字符串替换,即用 B 替换原字符串或单元格中,从第 n 位到第 n+m-1 位的内容(见表2)。...Power Query 是内置在 Excel 2016 专业增强版及以上版本中的 Power BI 组件之一,能够高效地完成很多数据清洗的步骤,以及快速实现二维表和一维表 的转换。 ...如果已经安装的版本中没有这个功能,建议更新版本,或者是前往微软Power BI 官网下载 Power BI Desktop 软件。
Power Query 团队一直在研究这个功能,在编写本篇时,【网页连接器基础结构更新】功能已发布在 Power BI 的预览功能中,用来解决这个问题。...单击该按钮,将进入一个新的名为【使用示例添加表】的用户界面,该界面顶部显示数据预览,底部显示空列。...这里的目的是选择第 1 列中的第一个单元格,输入要为第一条记录提取的内容,Power Query 将完成其余工作,如图 11-6 所示。...【警告】 如果用户的 “示例输入” 导致显示大量空值,则表示 Power Query 无法确定提取值的正确逻辑。 完成第一列后,双击列标题将其重命名,如果要添加更多列,请单击 “+” 图标。...似乎这不是问题的最糟糕部分,在导航过程结束时,表格的一列显示为原始文本,另一列包装在 元素中,这意味着需要进行额外的操作,如图 11-14 所示。
领取专属 10元无门槛券
手把手带您无忧上云