power query:从文件夹中的所有 Excel 个文件导入和转换数据,其中两个表位于同一个 sheet
powerquery: importing & transforming data from all Excel files in a folder where two tables on the same sheet
我正在尝试使用 PowerQuery 加载和转换文件夹中多个文件的每个 "Sheet1"
中包含的数据。
我遇到的问题是 "Sheet1"
中有两个表,我不知道如何合并这两个表,并保留共享的 Date/Weekday 标题。
我在互联网上搜索无果。我没有发现 PowerQuery 从文件夹中的所有 Excel 文件导入和转换数据,其中在相同的 sheet.[= 中有 TWO 表。 16=]
我包括两个表格的图像和所需的输出(前两行用于布局)。
注意:范围Sheet1!"A2:B2"
被合并。
感谢收到的任何帮助。
我会将 2 个表格更改为正确的 Excel Table(例如 select 单元格、Ctrl-T 或插入/Table)。这将取消合并您的列标题。
然后您将在导航器中看到这两个表作为条目(当您使用获取外部数据/从文件/从 Excel)时。
谢谢。这是我下面 VBA 解决方案的一部分。
最后想出了两个办法
解决方案 1:VBA 脚本:遍历文件夹中的 Excel 个文件并找到相关的 table 标题。然后使用当前区域将粘贴复制到添加的 sheet 例如
''Code to loop files then...
Set rngAdm = Worksheets("Figures").Range("A:B").Find("Daily Admissions", lookat:=xlPart)
If Not rngAdm Is Nothing Then
'Add sheet for creating Admissions table
Sheets.Add.Name = "Adm"
'Grab data and paste across
rngAdm.CurrentRegion.Copy Sheets("Adm").Range("A1")
'Clear merged cell
Range("A1:B2").UnMerge
'Code to transform......
然后我写了一些脚本来转换成一个干净的数据集并制作成 table。
解决方案 2:Powerquery - 使用两个查询循环遍历文件夹中的文件,使用删除行>删除交替行功能来指定模式以分别拉出感兴趣的 table,然后转换数据,然后合并两个查询。它能够为起始行和行数指定模式,让我不知道,隐藏在删除行标题后面。
备注:
我使用 VBA 遍历源文件夹并重命名文件,以便它们以正确的顺序加载。
然后我使用以下两个优秀的帖子来识别和删除重复项:
http://forum.powerpivotpro.com/forums/topic/power-query-remove-duplicates-keep-highest-id/
http://www.excelguru.ca/blog/2015/12/09/identify-duplicates-using-power-query/
通过按 ID 分组、组合排序 [Date] asc、排序 [Index] desc 并删除重复项 [ID],我能够仅保留每个重复集的最后导入行。
Q
我正在尝试使用 PowerQuery 加载和转换文件夹中多个文件的每个 "Sheet1"
中包含的数据。
我遇到的问题是 "Sheet1"
中有两个表,我不知道如何合并这两个表,并保留共享的 Date/Weekday 标题。
我在互联网上搜索无果。我没有发现 PowerQuery 从文件夹中的所有 Excel 文件导入和转换数据,其中在相同的 sheet.[= 中有 TWO 表。 16=]
我包括两个表格的图像和所需的输出(前两行用于布局)。
注意:范围Sheet1!"A2:B2"
被合并。
感谢收到的任何帮助。
我会将 2 个表格更改为正确的 Excel Table(例如 select 单元格、Ctrl-T 或插入/Table)。这将取消合并您的列标题。
然后您将在导航器中看到这两个表作为条目(当您使用获取外部数据/从文件/从 Excel)时。
谢谢。这是我下面 VBA 解决方案的一部分。
最后想出了两个办法
解决方案 1:VBA 脚本:遍历文件夹中的 Excel 个文件并找到相关的 table 标题。然后使用当前区域将粘贴复制到添加的 sheet 例如
''Code to loop files then...
Set rngAdm = Worksheets("Figures").Range("A:B").Find("Daily Admissions", lookat:=xlPart)
If Not rngAdm Is Nothing Then
'Add sheet for creating Admissions table
Sheets.Add.Name = "Adm"
'Grab data and paste across
rngAdm.CurrentRegion.Copy Sheets("Adm").Range("A1")
'Clear merged cell
Range("A1:B2").UnMerge
'Code to transform......
然后我写了一些脚本来转换成一个干净的数据集并制作成 table。
解决方案 2:Powerquery - 使用两个查询循环遍历文件夹中的文件,使用删除行>删除交替行功能来指定模式以分别拉出感兴趣的 table,然后转换数据,然后合并两个查询。它能够为起始行和行数指定模式,让我不知道,隐藏在删除行标题后面。
备注: 我使用 VBA 遍历源文件夹并重命名文件,以便它们以正确的顺序加载。 然后我使用以下两个优秀的帖子来识别和删除重复项:
http://forum.powerpivotpro.com/forums/topic/power-query-remove-duplicates-keep-highest-id/ http://www.excelguru.ca/blog/2015/12/09/identify-duplicates-using-power-query/
通过按 ID 分组、组合排序 [Date] asc、排序 [Index] desc 并删除重复项 [ID],我能够仅保留每个重复集的最后导入行。
Q