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

批量汇总多Excel表格 | 格式化表单转数据明细之3:可配置的映射关系

小勤:但是有个问题啊,比如构造出来行标和列标了,但通过表里转换的列标是文本,在PQ里用跨表引用数据的方式好像不行呢。 大海:嗯。用列标名称引用的话,需要用个函数。...针对每一个表,我们首先找到要提取的数据所在的行,然后在那一行里按照列名去取相应的内容,比如我们要提取“VIP登记表_1”中的“年龄”,定位过程如下: 1、通过映射表“内容”为“年龄”找到源表的索引(1...(1)提取数据表中的第2行内容为一个记录(Record),对应的代码为:s{1},合并上面取索引的代码即为:s{映射表{[内容="年龄"]}[源表索引]} 3、根据源表列名(Column4)使用函数Record.Field...从记录中提取数值(100),合并上面的代码为: Record.Field( s{映射表{[内容="年龄"]}[源表索引]}, 映射表{[内容="年龄"]}[源表列名] ) 以上的说明中仅对...大海:关于这个函数的例子很多,可以参考《用Power Query轻松批量抓取A股数据,及列表转换函数(List.Transform)的使用》。 小勤:好的。

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

PQ-综合实战:格式化表单转数据明细之3:可配置的映射关系,你的数据你做主

小勤:但是有个问题啊,比如构造出来行标和列标了,但通过表里转换的列标是文本,在PQ里用跨表引用数据的方式好像不行呢。 大海:嗯。用列标名称引用的话,需要用个函数。...针对每一个表,我们首先找到要提取的数据所在的行,然后在那一行里按照列名去取相应的内容,比如我们要提取“VIP登记表_1”中的“年龄”,定位过程如下: 1、通过映射表“内容”为“年龄”找到源表的索引(1...1)提取数据表中的第2行内容为一个记录(Record),对应的代码为:s{1},合并上面取索引的代码即为:s{映射表{[内容="年龄"]}[源表索引]} 3、根据源表列名(Column4)使用函数Record.Field...从记录中提取数值(100),合并上面的代码为: Record.Field( s{映射表{[内容="年龄"]}[源表索引]}, 映射表{[内容="年龄"]}[源表列名] ) 以上的说明中仅对...内容]的每一个提取相应的数据),主要代码如下图红框所示(最后括号未被包含): 最后,用大括号将提取的数据包裹起来,成为构造table的最终数据即可。

62940

Power Query 真经 - 第 6 章 - 从Excel导入数据

将使用这四个工作表演示 Power Query如何处理用于连接到数据的不同方式的。 6.1.1 连接到表 先从最容易导入的数据源开始:Excel 表(Table)。...无论名称如何,它都可以在【数据】选项卡上的【获取数据】按钮附近找到,为用户节省了几次单击的时间。 与其他许多数据连接器不同,此时将立即进入 Power Query 编辑器,打开预览窗口。...【警告】 当 Power Query 创建一个新的表并由于冲突重新命名输出表时,它不会更新查询的名称匹配。这可能会使以后追踪查询变得困难。...图 6-7 通过命名区域导入的数据 Excel 表的一个特点是有一个预定义的标题行,由于命名区域不存在这个功能,Power Query 必须连接到原始数据源,并运行其分析,确定如何处理数据。...x 单元格中的不是其位置引用本身。

16.4K20

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

(译者注:让查询步骤使用英文不是中文是操作 Power Query 的最佳实践,其原因在于该英文信息含有的过去式形态可以提示用户此步骤是完成后的状态,同时该步骤的英文名称往往与此步骤所用的 M 函数相关...表的名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,与其他工作表名称的冲突将通过在查询名称的末尾添加一个数字解决。...工作表名称:这通常与查询的名称相匹配,但非法字符将被替换为 “_” 字符,名称太长的情况可能会被截断,与其他现有表格名称的冲突的情况,将通过在查询名称的末尾添加括号内的数字解决。...(译者注:默认情况,Power Query 加载到 Excel 中的表,是一种绿色风格的主题,通过这个直观细节,可以判断那些是 Power Query 加载的表。当然,这不是绝对精准的做法。)...至于如何在 Excel 中启动 Power Query 编辑器的选项,这些是可以自由选择的。 进入【数据】选项卡【获取数据】【启动 Power Query 编辑器】。

4.8K31

在数据框架中创建计算列

在Python中,我们创建计算列的方式与PQ中非常相似,创建一列,计算将应用于这整个列,不是像Excel中的“下拉”方法那样逐行进行。要创建计算列,步骤一般是:先创建列,然后为其指定计算。...然而,这不是Python的工作方式。其正确的计算方法类似于Power Query,对整个列执行操作,不是循环每一行。基本上,我们不会在pandas中循环一列,而是对整个列执行操作。...Power Query似乎可以做到这一点,但效率不如Python。 panda数据框架中的字符串操作 让我们看看下面的示例,从公司名称列中拆分中文和英文名称。...df[‘公司名称’]是一个pandas系列,有点像Excel或Power Query中的列。df[‘公司名称’].str是列中的字符串,这意味着我们可以直接对其使用字符串方法。...处理数据框架中NAN或Null 当单元格为空时,pandas将自动为其指定NAN。我们需要首先考虑这些,因为在大多数情况下,pandas不知道如何处理它们。

3.8K20

PQ语言规范

概述 Microsoft Power Query 提供了强大的“获取数据”体验,其中包含许多功能。...Power Query 的一项核心功能是筛选和组合,即“混搭”来自一个或多个受支持数据源的丰富集合中的数据。任何此类数据混搭均使用 Power Query 公式语言(非正式称为“M”)表示。...Power Query 将 M 文档嵌入 Excel 和 Power BI 工作簿中,以实现可重复的数据混搭。 本文档提供了 M 的规范。...我们可以使用位置索引运算符( {}) 通过其数字索引访问列表中的项目。列表中的使用从列表开头开始的从零开始的索引来引用。...考虑这一点的一个好方法是记住,评估列表或记录表达式将返回一个列表或记录,该本身记住在请求时(通过查找或索引运算符)需要如何计算其列表项或记录字段。

92210

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

不是通过用 “Changed Type” 的步骤做到这一点,而是通过一个明确的【区域设置】更改类型,允许用户定义数据来源的地域。...(译者注:通过指定数据源来自的地域,Power Query 会根据当地的默认规则识别数据, “Changed Type” 是基于已经解析好的数据再更改数据格式,是两件不同的事。)...【注意】 记住,用【使用区域设置】转换的整个目标是告诉 Power Query 如何解释一个基于文本的,并将文本转换为正确的数据类型。...在 Excel 中,进入【获取数据】 【查询选项】当前工作簿的【区域设置】,在那里定义【区域设置】。所有新的连接都将使用该【区域设置】作为默认创建。...由于这个文件充满了空格,并根据宽度进行分割,每个单元格都包含 15 个空格(可以通过单击单元格并在左下方的预览中选择字符确认)。这并不是真正的空,但它是一致的和不需要的。

5.1K20

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

BI佐罗 本章专门讨论 Power Query 新手会面临的两个常见问题:理解 Power Query 是基于数据类型(不是数据格式)的工具,以及如何理解和处理 Power Query 查询中的错误。...图 3-2 Power Query 的数据类型 此时,需要认识到的重要一点是,这些数据类型都只与定义数据类型有关,不是如何格式化数据。...图 3-4 9350.095 已经被四舍五入到了零位小数 通过将数据类型设置为【整数】,Power Query 通过将一些数据点四舍五入为一个【整数】更改它们。如果是故意这样的,那么没有问题。...设置数据类型可以(而且经常)以某种方式改变基础格式化永远不会。 3.1.3 如何设置格式 简而言之,在 Power Query 中不需要设置格式。...在数据类型与格式之争中,查询编辑器的主要作用是设置数据类型,不是格式化数据。为什么呢?因为无论如何没有人会在查询编辑器中读取数据。这个工具的作用是获得正确的数据,不是呈现数据。

5.3K20

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

本章不会解决用户在转换中触发错误的问题(尽管以后的章节会解决),但会向用户展示 Power Query 如何合并两个或更多的数据集,不必担心用户把最后几行的数据粘贴过来导致数据重复。...虽然编辑每个步骤的名称以使其更具描述性是很诱人的,但对于一个真正的 Power Query 专家来说,挑战在于他们现在需要花更多的时间检查每个步骤,理解公式实际上是什么。...图 8-13 Power Query 如何知道 “TranDate” 列应该进入 “Date” 列呢 当【追加】两个表时,Power Query 将从第一个查询中加载数据。...图 8-14 一月份礼品券信息的示例数据 那么,如何才能建立一个解决方案,使它自动包含记账员添加的所有新表,不必教记账员如何编辑 Power Query。...右击 “Month End” 列【替换】,在【要查找的】下面输入一个空格,【替换为】输入 “1,”。(译者注:没错,是 “1,”,不是 1。)

6.6K30

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

相信大部分power bi使用者都会选择通过导入的方式连接数据,因为这种方式给予用户最高的灵活性和自由度,能充分发挥power bi在数据清洗、建模等方面的作用。...数据不会存储在 Power BI 模型中。Power BI 将是一个可视化层,然后每次从数据源查询数据。Power BI 将只存储表的元数据(表名、列名、关系……)不是数据。...,所以 Power BI 只连接到这些并获取所有模型元数据(度量名称、属性名称、关系...)。...使用此方法,您需要处理数据源中的所有建模需求, Power BI 只需通过可视化呈现该数据。...通过导入数据,您可以获得 Power BI 的全部功能。完整的 Power Query 转换、DAX 度量以及可视化。

7.1K20

666,一键生成自定义函数!“参数+示例+自定义函数”组合实在太神奇! | PQ实战

- 2 - 首先,要一键生成自定义函数,有个小小的条件,我们先将要作为函数参数的内容用参数引用的方式实现,除此以外,其他的步骤就是使用Power Query正常处理数据的步骤,具体过程如下: Step...-01 创建参数 进入Power Query编辑界面,单击“主页”菜单,一次单击“管理参数/新建参数”按钮: 在弹出的“管理参数”对话框中,依次填/选好参数的“名称、类型、当前”等内容后,单击“确定...”按钮: 这时,我们就生成了一个名称为“年月”的参数,且其默认为“201101”: Step-02 新建源,从Web获取数据 在填写链接的对话窗中,选择“高级”,将URL的部分分段输入(可通过单击...“添加部件”按钮增加),即参数前、后的内容直接复制粘贴进去,参数放在中间部分,通过选择类型和参数实现,最终如下图所示: 单击“确定”按钮后,我们将可以直接获取到广州市2011年1月份的数据: Step...只要我们稍作改动,哪怕只是改一下形式,比如在参数后面加个回车换个行: 两者之间的联动就会失效——这也不是Power Query还是不够智能,毕竟,谁知道你只是敲了个回车?

82220

如何Power BI获取数据?

image.png 前面我们介绍了Power BI 是什么,今天介绍如何Power BI 获取数据。 1.连接到数据源 下面的案例Excel表里记录了咖啡销售数据。...页面就弹出下面的Power Query编辑器功能。可进行一系列数据清洗与转换动作。 image.png 2.如何从 Excel 获取数据? 第一种方法是直接在工具栏点击Excel图标。...如何编辑数据? 如果是已经把数据导入到Power BI里面了,才想起来还需要编辑数据,怎么办呢? 可以在功能栏点击“转换数据”,就会显示Power Query编辑页面。...选中要编辑的列名,鼠标右键,可以出现:从表中删除列、以新名称复制列或替换通过此菜单,还可以更改数据类型。 image.png 每个步骤都会显示在“查询设置”窗格上的“已应用步骤”列表中。...Power BI 的可视化效果和建模工具最适用于列式数据,也就是我们通常看到的Excel按每一列名排列的数据。 但是,有时候给到你的是按行排列的,如何实现行列转置呢?

4.2K00

如何Power BI获取数据?

image.png 前面我们介绍了Power BI 是什么,今天介绍如何Power BI 获取数据。 1.连接到数据源 下面的案例Excel表里记录了咖啡销售数据。...页面就弹出下面的Power Query编辑器功能。可进行一系列数据清洗与转换动作。 image.png 2.如何从 Excel 获取数据? 第一种方法是直接在工具栏点击Excel图标。...如何编辑数据? 如果是已经把数据导入到Power BI里面了,才想起来还需要编辑数据,怎么办呢? 可以在功能栏点击“转换数据”,就会显示Power Query编辑页面。...选中要编辑的列名,鼠标右键,可以出现:从表中删除列、以新名称复制列或替换通过此菜单,还可以更改数据类型。 image.png 每个步骤都会显示在“查询设置”窗格上的“已应用步骤”列表中。...Power BI 的可视化效果和建模工具最适用于列式数据,也就是我们通常看到的Excel按每一列名排列的数据。 但是,有时候给到你的是按行排列的,如何实现行列转置呢?

3.3K00

Power Query对不同标题数据进行合并的技巧

降低标题 通过降低标题,这样就能够统一标题,然后进行合并,这样至少数据列对应了起来,但是有一个问题,就是如何区分哪些是标题,哪些是真正的数据? ?...所以只需要数据列位置一一对应,就能够使用索引的方式快速进行合并操作,这里没有涉及到任何需要手动书写的M函数,仅仅是在菜单里进行操作。...中提取数据——列表篇(3) 如何Power Query中提取数据——列表篇(4) 如何Power Query获取数据——表格篇(1) 如何Power Query获取数据——表格篇(2) 如何在...Power Query获取数据——表格篇(3) 如何Power Query获取数据——表格篇(4) 如何Power Query获取数据——表格篇(5) 如何Power Query获取数据—...—表格篇(6) 如何Power Query获取数据——表格篇(7) Power Query中的Table.Group函数详细分析 Power Query中@的用法—递归 Power Query中批量处理操作

9.7K31

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

幸好,Power Query 也有办法解决这两个问题的。 9.1 示例文件背景介绍 在这一章中,将研究如何为一家制造公司【导入】、【逆透视】和【追加】一系列的季度零件需求数据。...然而,即使有这些挑战,用户最后也会发现 Power Query 可以胜任这项任务。 9.1 过程概述 在深入探讨构建解决方案的结构之前,需要快速浏览一下 Power Query 如何处理这项任务。...9.2.2 合并文件的通用架构 让许多用户感到害怕的事情之一是,Power Query 并不只是通过使用一个单一的查询合并文件。...图9-15 其中“Change Type”步骤不是用户自己构建的 每当一行被提升到标题时,Power Query 都会帮助用户自动判别并转换数据类型。虽然这很有用,但它也将列的名称硬编码到步骤中。...但是,在这个过程中,似乎也丢失了文件夹名称。那么如何把这些信息找回来呢?

4.8K40

一次性学懂Excel中的Power QueryPower Pivot使用

Power Query是用来做数据的获取和清洗的组合,Power Pivot是用来做数据建模与计算分析的。 这两个组件分别对应强大的函数式语言:M语言和DAX语言。...全书共11章: 第1章介绍Excel中的Power QueryPower Pivot两大商务智能组件及其功能; 第2章至第6章介绍如何使用Power Query获取数据并进行处理,主要包含Power...Query的基本操作、M函数和M公式的基础知识、常用的M函数,以及数据处理的综合案例; 第7章至第11章介绍如何使用Power Pivot进行数据建模和分析,主要包含Power Pivot的基本操作、...通过阅读本书,读者可以更加高效地进行数据分析工作。 本书特色 01. 紧贴实际应用场景,介绍Power QueryPower Pivot在数据分析方面的应用(50+个实例) 02. ...实例2:高效快速地清洗零乱的考勤数据 6.2.3 实例3:同时拆分组合的供应商中文名称和英文名称 6.2.4 实例4:批量提取Excel工作簿中不规则的防疫数据 第7章  认识Power Pivot与

8.9K20

使用Power Query时的最佳做

例如,在连接到SQL Server数据库时,使用 SQL Server 连接器不是 ODBC 连接器不仅为你提供了更好的获取数据体验,而且SQL Server连接器还提供可改善体验和性能的功能,例如查询折叠...若要详细了解查询折叠,请参阅Power Query查询折叠。每个数据连接器遵循标准体验,如 “获取数据”中所述。 此标准化体验具有一个名为 “数据预览”的阶段。...某些连接器将通过查询折叠利用筛选器,如Power Query查询折叠中所述。 这也是筛选出与案例无关的任何数据的最佳做法。 这样,你便能更好地关注手头的任务,只需显示数据预览部分相关的数据。...可以使用自动筛选菜单显示列中找到的的不同列表,以选择要保留或筛选掉的。还可以使用搜索栏帮助查找列中的。还可以利用特定于类型的筛选器,例如日期、日期时间甚至日期时区列 的上 一个筛选器。...备注若要详细了解如何基于列中的筛选数据,请参阅 按筛选。上次执行昂贵的操作某些操作需要读取完整的数据源才能返回任何结果,因此在Power Query 编辑器中预览速度较慢。

3.5K10

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

当对比两个数据列表的差异时,人们实际上更关心不匹配的数据不是匹配的数据(具有讽刺意味的是,在会计领域花了大量的时间识别匹配的数据,目的只是为了删除它们 ,人们真正关心的是那些不匹配的数据)。...而且可以直接删除右边的列,因为无论如何每条记录都会返回空。 10.2.6 右反连接 该功能在 Power Query 叫做:【右反 (仅限第二个中的行)】。 【右反】连接如图 10-21 所示。...坏消息是,这不是通过用户界面提供的默认连接类型完成的。但好消息是,它很容易创建,如下所示。 创建【左反】连接查询。 创建【右反】连接查询。 【引用】“Left Anti” 连接查询创建新查询。...10.3 笛卡尔积(交叉连接) 无论将其称为 “交叉” 连接、“多对多” 连接或其正式名称 “笛卡尔积”,这种连接类型都包括从两个表中获取单个并创建一组包含所有可能的组合。...【注意】 如果根据用户输入收集数据,那么最好先设置数据验证规则,以阻止用户输入不匹配的数据,不是尝试通过模糊匹配修复它。不幸的是,并不总是有这样的控制,这就是这个工具可以变得非常有用的地方。

4.1K20

BI错误处理。

与 Excel 和 DAX 语言具有IFERROR函数的方式类似,Power Query具有自己的语法测试和捕获错误。...如有关处理Power Query中的错误的文章中所述,错误可以出现在步骤或单元格级别。 本文将重点介绍如何根据自己的特定逻辑捕获和管理错误。...此处展示的概念适用于Power Query中的所有不仅仅是来自 Excel 工作簿的概念。此演示的示例数据源是一个包含下表的 Excel 工作簿。...将此表导入Power Query编辑器时,下图显示了表的外观。请注意 Excel 工作簿中的错误如何随每个单元格中的一起 [Error] 显示。本文介绍如何将错误替换为另一个。...表达式 try 将和错误转换为记录,该指示表达式是否 try 处理错误,以及正确的或错误记录。可以使用记录展开此新创建的列,并通过选择列标题旁边的图标查看要展开的可用字段。

2.7K30
领券