Powerbi 如何提取具有扩展列的表列表的前n行?
我正在使用文件夹数据源,希望从每个文件中提取前n行 在实现Excel.Workbook([Content])以获取每个文件的内容并从每个文件展开列之后,我希望只保留前n行的内容,而不是整个列的内容Powerbi 如何提取具有扩展列的表列表的前n行?,powerbi,powerquery,m,Powerbi,Powerquery,M,我正在使用文件夹数据源,希望从每个文件中提取前n行 在实现Excel.Workbook([Content])以获取每个文件的内容并从每个文件展开列之后,我希望只保留前n行的内容,而不是整个列的内容 提前谢谢 在Power Query editor上,使用Home>Keep Rows>Keep Top Rows(主页>保留行>保留最上面的行)选项将列表向下筛选到仅1个结果。您可以在查询的任何步骤中根据您希望的过滤方式应用此选项 我制作了一些类似的示例数据 首先,我创建了一个名为fxXlConte
提前谢谢 在Power Query editor上,使用Home>Keep Rows>Keep Top Rows(主页>保留行>保留最上面的行)选项将列表向下筛选到仅1个结果。您可以在查询的任何步骤中根据您希望的过滤方式应用此选项
我制作了一些类似的示例数据 首先,我创建了一个名为
fxXlContent
的函数,从其中一个文件中提取前两行,如下所示
(inpContent as any) =>
let
Source = Excel.Workbook(inpContent, null, true),
Tabelle1_Sheet = Source{[Item="Tabelle1",Kind="Sheet"]}[Data],
Header = Table.PromoteHeaders(Tabelle1_Sheet, [PromoteAllScalars=true]),
changeType = Table.TransformColumnTypes(Header,{{"ID", Int64.Type}, {"Info", type text}, {"Januar", Int64.Type}, {"Februar", Int64.Type}, {"März", Int64.Type}, {"April", Int64.Type}, {"Mai", Int64.Type}, {"Anmerkung", type text}}),
keepFirstRows = Table.FirstN(changeType,2)
in
keepFirstRows
然后我在提取文件夹时使用了这个函数来获取每个文件的内容。您很可能需要根据自己的需要调整以下步骤
let
Source = Folder.Files("d:\tmp\01"),
filteredRows = Table.SelectRows(Source, each not Text.StartsWith([Extension], "~") and Text.EndsWith([Extension], "xlsx")),
addCustomColumn = Table.AddColumn(filteredRows, "xlContent", each fxXlContent([Content])),
removeOtherColumns = Table.SelectColumns(addCustomColumn,{"xlContent"}),
extendXlCOntent = Table.ExpandTableColumn(removeOtherColumns, "xlContent", {"ID", "Info", "Januar", "Februar", "März", "April", "Mai", "Anmerkung"}, {"ID", "Info", "Januar", "Februar", "März", "April", "Mai", "Anmerkung"})
in
extendXlCOntent
单个步骤看起来是这样的