Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powerbi 如何提取具有扩展列的表列表的前n行?_Powerbi_Powerquery_M - Fatal编程技术网

Powerbi 如何提取具有扩展列的表列表的前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

我正在使用文件夹数据源,希望从每个文件中提取前n行

在实现Excel.Workbook([Content])以获取每个文件的内容并从每个文件展开列之后,我希望只保留前n行的内容,而不是整个列的内容


提前谢谢

在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
单个步骤看起来是这样的