简化一系列 IF THEN
Simplify a series of IF THEN
我正在尝试做的事情可以用这个伪代码来解释:
如果 variable_text1
是“1”、“2”、“3”,则在名为 rating
的新列下放置“1-3”
很简单,但是用 "dumb" 的方式写起来很长
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)
问题是当有很多可能的文本变量可供选择时...有没有更聪明的写法?
如何将其用作您的自定义列?
if Number.FromText([variable_text1]) >= 1 and
Number.FromText([variable_text1]) <= 3
then "1-3"
else null
在 PowerBI 中作为计算列可能更容易实现:
IF [variable_text1] In {"1", "2", "3"}, "1-3"
不需要使用 null,它是 false 结果的默认条件。
[编辑]:
如果一定要用幂查询,试试;
if List.Contains({"1","2","3"}, [variable_text1]) then "1-3" else null
我正在尝试做的事情可以用这个伪代码来解释:
如果 variable_text1
是“1”、“2”、“3”,则在名为 rating
的新列下放置“1-3”
很简单,但是用 "dumb" 的方式写起来很长
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)
问题是当有很多可能的文本变量可供选择时...有没有更聪明的写法?
如何将其用作您的自定义列?
if Number.FromText([variable_text1]) >= 1 and
Number.FromText([variable_text1]) <= 3
then "1-3"
else null
在 PowerBI 中作为计算列可能更容易实现:
IF [variable_text1] In {"1", "2", "3"}, "1-3"
不需要使用 null,它是 false 结果的默认条件。
[编辑]:
如果一定要用幂查询,试试;
if List.Contains({"1","2","3"}, [variable_text1]) then "1-3" else null