如何在一列中替换更多值

时间:2019-03-27 14:23:34

标签: powerquery m

我试图在一列中替换3个值,但是我想一步而不是三个步骤来完成。我不想拥有替换的Value1,替换的Value2和替换的值3。

假设您在“汽车”列中只有以下值:大众,雷诺和达契亚。您想像这样替换它们:

Volkswagen --> VW
Renault --> RN
Dacia --> DC

是否可以一步完成而不是3步?我正在尝试使用语句Table.ReplaceValue

非常感谢

2 个答案:

答案 0 :(得分:1)

其中一种方法是创建 RenameCars 表,如下所示:

enter image description here

将此表添加到PQ后,您可以使用以下公式:

= Table.TransformColumns(YourTable, {"Cars", each
                         try RenameCars{[Name = _]}[Name_mod] otherwise _})

另一种方法(如果替换列表很短)是使用 Record.FieldOrDefault 函数。在这种情况下,不需要支撑台。

= Table.TransformColumns(YourTable, {"Cars", each
            Record.FieldOrDefault([Volkswagen = "VW", Renault = "RN", Dacia = "DC"],_,_)})

答案 1 :(得分:0)

类似于@Aleksei的答案,如果您愿意,可以使用5.4函数:

Table.ReplaceValue

这也假设您也有= Table.ReplaceValue(YourTable, each [Car], each RenameCars{[Name = [Car]]}[Name_mod], Replacer.ReplaceText, {"Car"}) 表。