首页 > 解决方案 > 在 Power BI 中合并来自多个工作簿的 Excel 工作表

问题描述

我的要求是,我需要使用 Power BI 组合来自多个工作簿的 Excel 工作表。

文件夹结构是这样的 Jan、Feb、Mar、April 是文件夹名称,其中包括工作簿名称 Jan1、Jan12、Jan15、Feb1、Feb12 等,其中 type 1、type 2 和 type 3 是每个中的工作表名称工作簿。

我想合并 Jan、Feb、Mar 文件夹中的所有类型 1 表,我需要编写一个 M 函数来对所有其他类型(即类型 2 和类型 3)重复该过程。

您能否使用 Power Query 帮助我解决此要求?

到目前为止,我尝试创建一个函数来从文件夹中获取数据,然后我执行手动步骤来组合工作簿中的数据。

(filepath)=> 
let
    Source = Folder.Files(filepath),
    #"Filtered Rows1" = Table.SelectRows(Source, each not Text.StartsWith([Name], "~$")),
    #"Filtered Hidden Files1" = Table.SelectRows(#"Filtered Rows1", each [Attributes]?[Hidden]? <> true),
    #"Reordered Columns" = Table.ReorderColumns(#"Filtered Hidden Files1",{"Name", "Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path", "Source Type"}),
    #"Removed Columns" = Table.RemoveColumns(#"Reordered Columns",{"Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path", "Source Type"})
in
    #"Removed Columns"

标签: powerbipowerquerym

解决方案


Get and transform好吧,使用>>得到你想要的非常简单 From fileFrom a folder截屏

在此过程中,您将指定您想要的工作表“类型 1”,在向导结束时为您提供: 截屏

然后,您只需对类型 2 和 3 重复此操作。

编辑:如果由于某种原因您不想使用“从文件夹”向导,那么这一切都在一个查询中完成:

let
    Source = Folder.Files("C:\temp"),
    #"Filtered Hidden Files" = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
    #"Added Workbook" = Table.AddColumn(#"Filtered Hidden Files", "Workbook", each Excel.Workbook([Content], null, true)),
    #"Added Sheet" = Table.AddColumn(#"Added Workbook", "Sheet", each Table.PromoteHeaders( [Workbook]{[Item="type 1",Kind="Sheet"]}[Data]  , [PromoteAllScalars=true]) ),
    #"Renamed Columns" = Table.RenameColumns(#"Added Sheet",{{"Name", "Source"}}),
    #"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"Source", "Sheet"}),
    #"Expanded Tables" = Table.ExpandTableColumn( #"Removed Other Columns" , "Sheet",  Table.ColumnNames( #"Removed Other Columns"[Sheet]{0} ) )
in
    #"Expanded Tables"

只需调整源文件夹,然后复制此查询并替换type 1type 2ortype 3以拥有其他两个组合表。


推荐阅读