Hallo Warkins,
Bei mir sieht das so aus:
LoadTableFromFiles = (folderPath as text, tableName as text) =>
let
files = Folder.Files(folderPath),
filesWithContent = Table.AddColumn(files, "Inhalt", each try Excel.Workbook([Content], null, true) otherwise null),
tablesExtracted = Table.AddColumn(filesWithContent, "Tabelle", each try [Inhalt]{[Item=tableName, Kind="Table"]}[Data] otherwise null),
validTables = Table.SelectRows(tablesExtracted, each [Tabelle] <> null),
validZip = List.Zip({validTables[Tabelle], validTables[Name]}),
ListToTable = List.Transform(validZip, each Table.AddColumn(_{0}, "Dateiname", (x) => _{1})),
result = Table.Combine(ListToTable)
in
result,
Auch wenn ich über die Präsentation des M-Codes von PIVPQ überhaupt nicht einverstanden bin, steckt in diesem M-Code sehr viel Sachverstand von der M-Materie.
Gruß von Luschi
aus klein-Paris
Zitat:Ich werde sie in logisch benannte Zwischenschritte aufteilen, ...Da muß die KI aber noch mal nachschärfen.
und dann das:result = Table.Combine(List.Transform(
List.Zip({validTables[Tabelle], validTables[Name]}),
each Table.AddColumn(_{0}, "Dateiname", (x) => _{1})
))
Bei mir sieht das so aus:
LoadTableFromFiles = (folderPath as text, tableName as text) =>
let
files = Folder.Files(folderPath),
filesWithContent = Table.AddColumn(files, "Inhalt", each try Excel.Workbook([Content], null, true) otherwise null),
tablesExtracted = Table.AddColumn(filesWithContent, "Tabelle", each try [Inhalt]{[Item=tableName, Kind="Table"]}[Data] otherwise null),
validTables = Table.SelectRows(tablesExtracted, each [Tabelle] <> null),
validZip = List.Zip({validTables[Tabelle], validTables[Name]}),
ListToTable = List.Transform(validZip, each Table.AddColumn(_{0}, "Dateiname", (x) => _{1})),
result = Table.Combine(ListToTable)
in
result,
Auch wenn ich über die Präsentation des M-Codes von PIVPQ überhaupt nicht einverstanden bin, steckt in diesem M-Code sehr viel Sachverstand von der M-Materie.
Gruß von Luschi
aus klein-Paris