如何在一列中替换更多值

问题描述 投票:0回答:2

我试图在一列中替换3个值,但我想一步而不是三步。我不想要替换Value1,替换Value2和替换值3。

想象一下,你在汽车专栏中只有这些价值观:大众,雷诺和达契亚。你想替换它们像:

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

有可能一步而不是3步吗?我正在尝试使用声明Table.ReplaceValue

非常感谢

powerquery m
2个回答
0
投票

与@Aleksei的答案类似,如果您愿意,可以使用Table.ReplaceValue函数:

= Table.ReplaceValue(YourTable, each [Car], each RenameCars{[Name = [Car]]}[Name_mod], Replacer.ReplaceText, {"Car"})

这假设你也有RenameCars表。


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"],_,_)})
© www.soinside.com 2019 - 2024. All rights reserved.