首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Power Query 真经 - 第 8 章 - 纵向追加数据

图 8-2 这些查询显示在 Excel 的【查询 & 连接】窗格(左)和在 Power Query【查询】导航窗格(右) 8.1.1 追加两个表 下一项工作是创建用于后续分析的整个表,这需要将上述表格追加在一起...图 8-3 【追加】查询对话框 虽然这看起来相当容易,但实际上建议用户不要使用这个功能来追加表。是的,它允许用户追加两个查询(如果有需要,的确可以将一个查询追加到自身)。...比方说,用户将在一段时间内添加 12 个追加项,并且不希望有一个很长的步骤列表。在这种情况下,按如下操作即可。...图 8-19 Certificates 工作表,现在是选项卡顺序中的最后一个 【注意】 通常情况下,由于有点麻烦可以不用移动这个工作表,但这有助于确保用户与本书在这里相同位置看到错误。...【警告】 当使用 “=Excel.CurrentWorkbook ()” 来列举表或范围时,输出的查询在刷新时也会被识别,为了处理这个问题,需要一些新的步骤,有不同的方式,这取决于用户如何构建查询。

6.8K30

Power Query 真经 - 第 9 章 - 批量合并文件

这听起来可能有点复杂,但正如看到的,它提供了令人难以置信的灵活性,而且一旦理解了它是如何合并在一起的,实际上使用起来非常简单。最重要的是,这种设置遵循如下流程。 在表被添加之前进行数据转换。...当 Excel 关闭时,该文件会自动消失,但在崩溃的情况下,这并不总是这样的。通过筛选删除以“~”开头的文件,可以避免这些文件。...不幸的是,虽然“Parts”表很好很干净,但这实际上是作为“Forecast”表上所包含的数据范围的查询表。...现在,如果数据已经处于纵向追加的目标状态,就算完成了,但是如果看一下图片中显示的第一个和第二个文件,会注意到 Power Query 实际上追加了两个透视表结构的数据,而且每个数据集的标题都不同。...在这种情况下,应用步骤如下所示。 Source:包含 Excel 文件中所有可用对象的原始表。 Navigation:导航到表示“Forecast”工作表的表格中去。

5K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Power Query 真经 - 第 10 章 - 横向合并数据

    同样,与【追加】查询一样,这将导致在 Power Query 用户界面上出现一个名为 “Source” 的步骤,将两个查询【合并】。...10.4.1 方法 大多数用户会立即尝试利用 Power Query 的一种连接算法将这些表【合并】在一起。然而,这并不是这个案例中解决问题的方式。...图 10-34 【追加】源表和查找表 正如已经知道的,在【追加】两个表时,具有相同名称的列被堆叠起来,具有新名称的列被添加到表中。这就是为什么确保键列在两个表之间保持一致非常重要的原因。...在这种情况下,该算法对 “Laptops” 和 “laptop” 的评分与 “Laptop” 相当,尽管其中一个有一个额外的字符,另一个使用小写和大写的字符。...也就是说,如果知道计算机生成的查找表在地址前从不包含 “#” 符号,但源表可能包含以这种方式写入的地址,只需右击该列并将该列上的所有 “#” 符号替换为空即可。

    4.4K20

    PowerBI 多种增量刷新方案最大支持100T数据存储及单个模型50G+

    一般情况下,在PowerBI或PowerBI Desktop中点击【刷新】按钮,会将数据源的数据全部刷新一遍,如果数据源数据很多,而每次变化的很少,例如只有最近一日发生变化,那这种不问青红皂白就直接全部刷新的方法显然会耗时耗力...很可惜在默认情况下,PowerBI就只支持这种数据刷新方式。...但在实际实践中,可能并不能修复所有错误,仍然有大量错误存在,这视具体实际情况而定。 因此,这种删除后重新用DAX计算表的方式弥补订单存在风险,务必备份数据。...由于DAX的UNION函数必须至少有两个参数,且这两个参数必须都是列数一样的表,所以使用FILTER的这句技巧实际返回一个空表与前面的表合并,以起到占位符的作用,待有真正需要合并的表的时候,再做替换。...很多伙伴会问,在你自己设置增量刷新的时候,不会成功,会提示这样的错误: 你会发现,无论你怎么设置参数都不对,这里有几个非常重要的细节需要指出: 必须在查询编辑中设置参数,且参数的数据类型必须是【日期/时间

    2.4K10

    Power Query 真经 - 第 2 章 - 查询管理

    这层的查询首先应该设置为希望在 Excel 工作表或数据模型中表的名称,它主要功能是在加载前执行任何最后步骤。例如:追加或合并 “暂存” 层中的查询,以及为表中的每一列设置最终的数据类型。...有的时候,拆分查询会引发 “Formula Firewall(公式防火墙)” 错误。这可能超级令人沮丧,在某些特别情况下,必须在一个查询中声明所有数据源才能克服这个问题。...Staging:源:暂存 Changed Type:更改的类型 再次强调,虽然对于一个非常简单的查询来说,这看起来可能是一项艰巨的工作,但为每个阶段创建具有不同步骤的查询链,将使的开发人员在未来可以轻松地扩展解决方案...图 2-16 更改 Excel 中的现有查询的目的地的方法是右击查询选择【加载到】 现在可以从【导入数据】菜单中选择另一个选项。在这种情况下,将选择与在第 1 章中的一致做法。 选择【表】。...当使用 Power Query 时,每个人会发现适合自己最佳方案,因为这只是一个风格问题。有时可能会认为,为每个查询配置一个查询、两个查询甚至八个查询都有可能是合理的解决方案。

    2.8K40

    Extreme DAX-第5章 基于DAX的安全性

    图5.8 无法加载此视觉错误消息的数据 这似乎是一个奇怪的错误消息。fHours表有两个到Employee表的关系,但USERELATIONSHIP使用的是非活动关系,对吧?...没有单一的方法来解决这个问题;这完全取决于你的分析需求是什么。例如,你可以将事实表一分为二,其中一个事实表表示直接工时,另一个表示间接工时,就像图5.9所展示的那样。...图5.14 在管理参数窗口中输入查询参数 单击确定退出管理参数窗口。这样就创建了一个参数查询。在查询窗格中,它以斜体显示,因为参数未加载到 Power BI 模型中。但在这种情况下,我们确实要加载它!...Private 列将分别添加到值为 1 或 0 的两个副本中。最后,对两个副本进行追加查询。 添加其他列可能很有用。...产生这种情况的原因是我们设计Employee(private)表的方式,如图5.22所示。 图5.22 查看每个员工的两个输出行 但这意味着你现在可以使用行级别安全性来选择要显示的副本。

    4.9K30

    Power Query 真经 - 第 5 章 - 从平面文件导入数据

    这其实是目前的常态,意味着大量的手工导入和清洗过程,但 Power Query 将改变了这种现状。...如果有这样的经历,实际上已经看到过一半的日期是错误的,另一半是文本的数据。在这种情况下,每年只有 12 天可能是正确的,例如:1/1,2/2 ,3/3 ,等等。...“Amount” 列中的数值是显示为数值、文本,还是错误?欢迎来到在 Power Query 中处理数据的挑战,因为对于不同的人来说,答案是不同的,这取决于用户【控制面板】中的设置。...在 Power BI 桌面版中,需要进入【文件】【选项】【选项和设置】。Power BI 在全局或当前文件层面都有【区域设置】选项,这取决于用户希望讲更改应用到的范围。...图 5-18 一个不同的值,但没有空值,是这样吗 在这一列的情况下,可以看到,虽然只有一个值,但它没有填充空单元格。

    5.3K20

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

    图 4-3 Power Query 重新创建查询链,而不是整合 这可能有点令人沮丧,因为用户会更希望可以有一个选择,可以在复制和粘贴过程中解决此问题。但以这种方式使用复制和粘贴功时,没有这种选项。...图 4-9 两个 Excel 表和十二个查询将生成四个表,加载到 Excel 的数据模型中 虽然理解这些查询的工作原理并不重要,但重要的是要认识到这两个表(Raw Data - Sales,Raw Data...虽然查询中是有错误的,但并没报错,这并不是用户操作的问题。...虽然这确实会产生风险,即用户必须更新一个外部文件的路径,但它避免了与日期有关的错误,以及无法在数据源中添加行或修改记录的风险。...Power BI 应用于将查询指向 Excel 文件的结果,在不需要任何修改的情况下,查询会被刷新,如图 4-23 所示。

    7.8K20

    Extreme DAX-第4章 上下文和筛选

    简而言之,查询上下文是指在 Power BI 模型中选择的行的集合,基于这个集合进行 DAX 公式的计算。恰当地区分查询上下文中两个密切相关但独立的元素是很有必要的。...图4.3 一个简单的 Power BI 报表 在查询上下文中,表之间的关系起着重要作用:筛选器传递。这意味着,一个表中某一列的筛选器可以通过关系的交叉筛选方向传递到另一个表,如图4.4所示。...也可能是选择了值的子集,这可能是由该列上的筛选器引起的,在这种情况下,我们定义该列是被直接筛选(Directly Filtered)的。...尽管在这种简单的情况下,我们可以向模型中添加一个 State 计算表,但首选方法是创建一个虚拟表。此表仅在度量值计值时存在。 有一系列的 DAX 函数可用于创建虚拟表。...(当然,这取决于查询上下文)。

    5.8K21

    原 GetHashCode重写指南(译文)

    在一个集合中可能需要执行许多操作, 但两个基本的运算是在集合中插入一个新项, 并检查给定项是否在 set 中。我们希望这些操作能够快速进行, 即使该集合很大。...推断很简单,假定两个对象是相等但是hash值不同,如果第一个对象放在桶里可能被放进12号桶,如果接着在set中查询另一个不同hash的相等对象时,他可能回去搜索67号桶,那么就会找不到。...我偶尔也会回应“我想把我在GetHashCode中抛出notimplementedexception以确保对象从未投入一个哈希表;我不打算为这个对象会被放入一个哈希表。“类似于这种问题。...好了,好了,但以前的指南中的最后一句话;这意味着你的对象不能在LINQ中使用,也不能享受由此带来的高性能。 因此它不会抛出一个异常, 所以必须最终返回一个值。...这是很常见的散列码的结合一起异或他们,但这未必是一件好事。假设您有一个数据结构,其中包含发送地址和家庭地址的字符串。即使在单个字符串的哈希算法是非常好的,如果存在大量两个字符串相同的对象,这些对象的。

    1.1K60

    Power Query 真经 - 第 3 章 - 数据类型与错误

    选择 “Decimal” 列最后一行的单元格进行预览。 在这种情况下,会注意到数值是以其全部精度显示的,没有四舍五入,也没有任何额外的格式化。...默认情况下,Power Query 在设置数据类型时只预览前 1000 行,这意味着如果数据集中的第一个小数值显示在第 1001 行,Power Query 将选择一个【整数】数据类型,在导入时对该列的所有行进行四舍五入...在大多数情况下,当单击【转到错误】按钮时,将被直接带入导致错误的步骤。然而,在这种情况下,将转到 “Promoted Headers” 步骤。...图 3-13 查询的第一步表明它导致了错误 这种类型的错误非常常见,特别是在与同事共享 Power Query 解决方案时,因为文件路径总是硬编码的。...如果这真的造成了困扰,可以在查询中插入一个临时步骤,从数据集中删除最上面的 “x” 行。在这种情况下,可以选择删除前 3,880 行,这意味着第一个错误会出现在第 2 行中。

    5.7K20

    PQ小问题小技巧8个,第一个就很多人都遇到了!

    也可能很多朋友直接跳过去了): 当然,问题总是会不断出现的,以至于有人说“问题总比方法多”,我认为,这跟“方法总比问题多”一样,都是真理!...2、PQ数据加载不完整问题 小勤:为什么PQ处理的数据加载到Excel时最后一行是一堆省略号? 大海:数据上载不全,在某些版本里偶然存在这种情况,一般在Excel里再刷新一下数据即可。...大海:添加自定义列,=null 4、追加多个查询 小勤:我的追加查询怎么不能同时追加多个表?只能一个一个合并?...大海:PQ本身不支持将数据加载到CSV,只能先加载的Excel,然后再另存为CSV,但Excel本身对单表就是有行数限制的,所以会显示不能完全加载的情况。...如果超过百万行的数据要保存到Excel,可以考虑通过某些规则进行分表保存,即在PQ里做成多个查询,每个查询获取其中一部分数据。

    2.4K30

    明明结果是对的,为什么被合并查询后得到的结果却出错了?| Power Query躲坑

    最近,有位朋友在一个实际工作问题中,在表2使用合并查询从表1的结果中匹配最高(阶段)项,眼看着表1的结果是对的,但表2里却得到了错误的返回结果,具体情况如图所示: 为什么会这样?...然后,在表2里使用合并查询获取表1中的结果并展开: 咦!!! 表1的处理结果明明是阶段4(报价),为什么合并查询得到的结果却是阶段2(售前)? 这难道是Power Query的Bug吗?...实际上,经过这么多年的发展,Power Query已经相当成熟了,合并查询这种基本的功能,不大可能存在这样的Bug或低级错误的。...这里的问题根源其实是表1的处理问题,我以往发布的多篇文章案例中,在涉及Power Query中使用排序的问题时会强调,Power Query的排序需要增加添加索引或Table.Buffer的步骤,使排序的结果真正...这十个问题,Power Query初学者经常问 5个PQ错误处理方式,最后一个其实最重要!

    3.1K20

    Power Query 真经 - 第 11 章 - 处理基于 Web 的数据源

    如果用户的【导航器】屏幕与下面显示的屏幕不同,则表示用户尚未收到这个更新。在这种情况下,用户将看到本章 “连接到没有表的页面” 部分中显示的界面。...图 11-14 这并没有变得更容易,甚至表格列格式也不一致 由于将其放入一个干净的表中的步骤超出了本章的范围,因此现在不讨论这种方法。...11.4.1 收集数据的经验 在 Power Query 中,针对 Web 数据构建解决方案可能是一个非常痛苦的过程。...尽管该网站尽了很大努力来整理数据,但网站上的信息还远远不够完美,可能包含的数据并不完全真实。 另一个问题是数据更新的容易程度。...这显然会导致一个副作用,那就是在没有任何通知的情况下,引用该网站数据的查询程序不再可用,使用者也恰好可能没有时间修复已经不可用的查询。 正在学习 Power Query 吗?本系列足以。

    3.1K30

    MySQL中的JOIN与IN:性能对比与最佳实践

    IN (1, 2, 3, 4); 在这两个查询中,我们都是在users表中过滤出user_id在指定范围内的用户。...对于这种简单的情况,通常来说,使用IN的查询性能会稍微优于JOIN。 JOIN涉及多表的连接操作,而IN只是简单地过滤出指定条件的数据。...在某些情况下,数据库优化器可能会将IN子查询转换为JOIN,但这仍然取决于具体的查询和表结构。...查询结果中包含多个表的字段: 如果你需要检索的字段分布在多个表中,使用JOIN能够直接获得包含所有字段的结果集。 何时使用IN 尽管JOIN在很多情况下更灵活,但有时IN也更适合特定的场景。...在实际应用中,可以根据具体情况灵活运用这两种查询方式,并通过合理的索引、数据库设计和引擎选择来进一步优化性能。最终的性能取决于综合考虑这些因素,选择最适合业务场景的查询方式。

    99610

    Extreme DAX-第 2 章 模型设计

    具有相同键值的另一个表可以与其相关,但在这个表中,键值不必是唯一的。这种类型的关系称为一对多关系,这意味着有一个表的键只出现一次,而另一个表的同一键可以多次出现。...在查询关系型数据库时,用户必须指定要在哪些表上组合哪些(主键和外键)列。这使得查询关系型数据库非常灵活,但同时也迫使数据库为每个查询执行大量的工作。...默认情况下,一对一关系的交叉筛选器方向是两个。因此,在几乎所有情况下这两个表都充当一个表。...需要提醒的是,应避免在模型中建立一对一关系:除非有特定原因将它们分开,否则应将两个相关表合并为一个表(想要了解这些原因可能是什么,请参阅第8章“使用 AutoExist”)。...关系基数的最后一个选项是多对多。在这种情况下,两个相关表都不包含唯一的键。同样,您可能有特定的理由使用这种关系。但是,我们强烈建议不要使用多对多关系,因为这些关系很容易将你的模型搞得一团糟。

    3.5K10

    Power Query 真经 - 第 7 章 - 常用数据转换

    接下来,可以在同一数据集中建立另一个数据透视表。 选择 “Sales” 表中的任意一个单元格,【插入】【透视表】【现有工作表】【位置】在工作表的 “F11” 中。...幸运的是,Power Query 为用户提供了一些不同的选项来完成这个工作,这取决于用户对最终数据的输出需求。 在这个示例中,将看的是一个相当奇怪的数据导出。...在 “Days” 列中包含了一周中的多个天。 为什么有人会以这种方式设置他们的数据,这超出了用户的工作范围,但现实是,清理这些数据的工作是留给用户的。...Power Query 会扫描它认为是分隔符的内容,并且在大多数情况下,会得到正确的结果。然而,如果它做出了一个错误的选择,用户可以简单地更改它(就目前而言,“/” 作为分隔符是完美的)。...与此不同,Power Query 的筛选器没有这种分层功能。用户不能在【年】子菜单下找到特定的数字年份。那么,在这种情况下,如何筛选才能只得到 2021 年的日期?一种方法是使用【介于】过滤器。

    7.5K31

    【Power BI X SSAS]——再看Power BI数据连接的三种方式

    如果源表中有 100 万行,并且在不进行筛选的情况下将其加载到 Power BI 中,则最终在 Power BI 中拥有相同数量的数据行。...但是,如果您有一个包含 1000 个表的数据库,则在 Power BI 中仅加载其中 10 个表,那么您只会获得这 10 个表的内存消耗。...这取决于很多事情;列中唯一值的数量,有时是数据类型和许多其他情况。 简而言之:Power BI 将存储压缩数据,Power BI 中的数据大小将远小于其在数据源中的大小。...数据不会存储在 Power BI 模型中。Power BI 将是一个可视化层,然后每次从数据源查询数据。Power BI 将只存储表的元数据(表名、列名、关系……)而不是数据。...关系配置 使用 DirectQuery,您仍然可以在某些情况下配置关系。使用实时连接,您没有关系选项卡。这应该在数据源中处理。

    7.6K20

    Power Query 真经 - 第 1 章 - 基础知识

    总的来说,很少需要在这里更改任何内容,因为 Power Query 在大多数情况下都能做出正确的默认选择。说到这里,会注意到在顶部有一些选项,允许切换以下设置。...这其中的含义相当重要。与经典的 Excel 世界不同,在那里,数据是在完全没有任何跟踪的情况下进行转换的,Power Query 提供了一个完整的转换检查路径。...虽然可以单击每一列左上方的图标来选择适当的数据类型,但这可能会花费相当多的时间,特别是当大量的列需要处理时。另一个技巧是让 Power Query 为所有列设置数据类型,然后覆盖想更改的数据类型。...表的名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,与其他工作表名称的冲突将通过在查询名称的末尾添加一个数字值来解决。...工作表名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,名称太长的情况可能会被截断,与其他现有表格名称的冲突的情况,将通过在查询名称的末尾添加括号内的数字值来解决。

    5.1K31

    PostgreSQL 13.0-13.15 功能更新和bug fixed列表

    RETURNING结果可能不正确计算的问题 PG13.3 如果针对分区表的UPDATE导致行移动到具有物理上不同行类型的另一个分区(例如,包含不同一组已删除列的行),为该行计算的RETURNING结果可能会产生错误或错误的答案...此外,在这个和相关的错误消息中报告的文件名可能是垃圾。...,如果主服务器上的大事务没有向备用服务器发送任何数据(可能是因为它所更改的表没有发布),备用服务器可能会超时。...在其他情况下会发生断言失败 PG13.11 修复pg_dump,使得对枚举列进行哈希分区的分区表可以成功恢复,由于枚举值的哈希代码取决于为枚举分配的OID,因此在转储和恢复后通常会不同,意味着行通常需要进入与原始不同的分区...如果实际函数输出值不匹配,应在运行时抛出错误。然而,一些代码路径会过早检查实际值,并可能在不匹配预期时发出奇怪的错误或遭遇断言失败。

    14010
    领券