基本上,我坚持使用.xls工作簿的层次结构,我希望使用PowerQuery将其编译为PowerPivot数据模型。
主目录 - 零售商文件夹#1 - 品牌#1工作簿 - SKU工作表#1 - SKU工作表#2 - 品牌#2工作簿 - 零售商文件夹#2 - 品牌#1工作簿 - SKU工作表#1 - SKU工作表#2 - 品牌#2工作簿
使用PowerQuery有一种简单的方法吗?
一个复杂因素:每个工作簿最后都包含2个需要排除的摘要选项卡。同样,每个文件夹都包含一个摘要工作簿,该工作簿也是需要排除的聚合。
答案 0 :(得分:2)
我个人更喜欢避免使用功能,因为我发现它们更难以调试&保持。相反,我只使用From Folder并过滤到我想要的文件,然后使用公式添加自定义列:
= Excel.Workbook ( [Contents] )
然后,您可以将其展开为工作表和表格,过滤该列表并展开Excel.Workbook.Data列以获取数据单元格。您可以保留足够的元数据列以标识每行的来源(文件夹/文件/表)。
这样可以在PQ UI中维护整个Query。当问题发生时(Excel源代码不可避免),您可以逐步完成整个过程并隔离问题。
如果来自不同源查询的多个调用,我只使用函数。这听起来不像这里的情况。
答案 1 :(得分:0)
应该是。您可以使用“从文件夹”(Folder.Files
)访问Excel工作簿并过滤掉摘要工作簿。然后,对于剩余的工作簿,您可以创建一个函数,当给定Excel工作簿时,该函数将转到所需的工作表并删除最后两列。您可以添加一个自定义列,然后调用此函数。