22 lines
1.1 KiB
Mathematica
22 lines
1.1 KiB
Mathematica
( TBL_SOURCE as table,
|
|
optional S_RENAME_TAG as nullable text,
|
|
optional B_DO_RENAME as nullable logical) as table =>
|
|
let
|
|
RenamingNeeded = if B_DO_RENAME = null then true else B_DO_RENAME,
|
|
RenameTag = if S_RENAME_TAG = null then "" else S_RENAME_TAG,
|
|
|
|
InitialColumnNames = Table.ColumnNames(TBL_SOURCE),
|
|
RenameTableColumns = if RenamingNeeded then
|
|
let
|
|
NewColumnNames = List.Transform(InitialColumnNames, each fReplaceFunction(_, true, S_RENAME_TAG)),
|
|
RenameColumns = Table.RenameColumns(TBL_SOURCE,
|
|
List.Zip({InitialColumnNames, NewColumnNames}))
|
|
in
|
|
RenameColumns
|
|
else
|
|
TBL_SOURCE,
|
|
|
|
ColumnsToKeep = fGetNeededColumnNames(RenameTag),
|
|
KeepNeeded = Table.SelectColumns(RenameTableColumns, ColumnsToKeep, MissingField.Ignore)
|
|
in
|
|
KeepNeeded |