我的要求是,我需要使用Power BI合并多个工作簿中的excel表格。
文件夹结构是这样的,文件夹名称是Jan,Feb,Mar,April,由工作簿名称Jan1,Jan12,Jan15,Feb1,Feb12等组成,类型1,类型2和类型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"
答案 0 :(得分:1)
好吧,使用<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>
> Get and transform
> From file
可以很轻松地得到想要的东西。
在此过程中,您将指定所需的工作表“类型1”,并在向导末尾为您提供:
然后,您只需对类型2和3重复此操作。
编辑:如果由于某种原因您不想使用“从文件夹”向导,则所有这些都可以在一个查询中完成:
From a folder
只需调整源文件夹,然后重复此查询,并将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 1
或type 2
,即可得到另外两个合并的工作表。