如果我理解正确,我认为您可以尝试以下任一方法:
#"Ersatt värde" =
let
columnsToTransform = List.Skip(Table.ColumnNames(Källa), 2),
accumulated = List.Accumulate(columnsToTransform, Källa, (tableState as table, columnName as text) =>
Table.ReplaceValue(tableState,"x", columnName, Replacer.ReplaceText, {columnName})
)
in accumulated
或:
#"Ersatt värde" =
let
columnsToTransform = List.Skip(Table.ColumnNames(Källa), 2),
transformations = List.Transform(columnsToTransform, (columnName) => {columnName, each
Replacer.ReplaceText(Text.From(_), "x", columnName)}),
transformed = Table.TransformColumns(Källa, transformations)
in transformed,
两种方式都遵循类似的方法:
- 找出要替换的列(即除前 2 列之外的所有列)
- 循环上一步中确定的列并实际进行替换。
- 我使用了
Replacer.ReplaceText,因为这是您在问题中使用的,但我相信这将取代部分匹配和完全匹配。
- 如果您只想替换完整匹配项,我认为您可以改用
Replacer.ReplaceValue。