Files
spqr/power-query/specific/fNormalizeColumnNames.m

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