简化一系列 IF THEN



我试图做的事情可以用这个伪代码来解释:如果variable_text1是"1"、"2"、"3",则在名为rating的新列下输入"1-3">

很简单,但以"愚蠢"的方式编写它很长

Table.AddColumn(#"Added cluster_rating", "rating", each if [variable_text1] = "1" then "1-3" else
if [variable_text1] = "2" then "1-3" else
if [variable_text1] = "3" then "1-3" else
null)

问题是当有很多可能的文本变量可供选择时......有没有更聪明的方法来写这个?

在 PowerBI 中作为计算列实现可能更容易:

IF [variable_text1] In {"1", "2", "3"}, "1-3"

无需使用 null,这是错误结果的默认条件。

[编辑]:

如果必须使用电源查询,请尝试;

if List.Contains({"1","2","3"}, [variable_text1]) then "1-3" else null

将其用作自定义列怎么样?

if Number.FromText([variable_text1]) >= 1 and
   Number.FromText([variable_text1]) <= 3
then "1-3"
else null

最新更新