let
_folder.path = "D:\Projects\_8 Community\_forums\VBAExpress\VBAX - 64985 - Join Files",
_first.file = "a.sp2",
Source = Folder.Files(_folder.path),
hiddenFile.Filter = Table.SelectRows(Source, each [Attributes]?[Hidden]? <> true),
contentCol.Add = Table.AddColumn(hiddenFile.Filter, "Files", each #"Transform File from VBAX - 64985 - Join Files"([Content])),
sourceCol.Rename = Table.RenameColumns(contentCol.Add, {"Name", "Source.Name"}),
surplusCols.Remove = Table.SelectColumns(sourceCol.Rename, {"Source.Name", "Files"}),
errorRows.Remove = Table.RemoveRowsWithErrors(surplusCols.Remove, {"Files"}),
fileContent.Expand = Table.ExpandTableColumn(errorRows.Remove, "Files", Table.ColumnNames(#"Transform File from VBAX - 64985 - Join Files"(#"Sample File"))),
dataCol.Rename = Table.RenameColumns(fileContent.Expand,{{"Column1", "Data"}}),
data.Type = Table.TransformColumnTypes(dataCol.Rename,{{"Source.Name", type text}, {"Data", type text}}),
idCol.Add = Table.AddColumn(data.Type, "Id", each 1),
TableType = Value.Type(Table.AddColumn(idCol.Add, "Running Cost", each null, type number)),
fnRunningSum = (MyTable as table) as table =>
let
Source = Table.Buffer(MyTable),
TableType = Value.Type(Table.AddColumn(Source, "Running Cost", each null, type number)),
Cumulative = List.Skip(List.Accumulate(Source[Id],{0},(cumulative,Id) => cumulative & {List.Last(cumulative) + Id})),
AddedRunningSum = Table.FromColumns(Table.ToColumns(Source)&{Cumulative},TableType)
in
AddedRunningSum,
rowsGrouped = Table.Group(idCol.Add, {"Source.Name"}, {{"GroupedData", fnRunningSum, TableType}}),
rowsExpanded = Table.ExpandTableColumn(rowsGrouped , "GroupedData", {"Data", "Running Cost"}, {"Data", "Running Cost"}),
tokeepCol.Add = Table.AddColumn(rowsExpanded, "Keepers", each if [Source.Name] = _first.file then true else if [Running Cost] > 83 then true else false),
originalData.Keep = Table.SelectColumns(tokeepCol.Add,{"Data"})
in
originalData.Keep