If statement 如果text.contain使用或函数,则M查询中的条件列
我在powerquery中添加了一列,条件语句包含具有不同值的文本。我可以为每个条件添加每个短语,但我正在考虑使用OR函数以更有效的方式编写它 到目前为止,我有以下几点:If statement 如果text.contain使用或函数,则M查询中的条件列,if-statement,powerbi,powerquery,If Statement,Powerbi,Powerquery,我在powerquery中添加了一列,条件语句包含具有不同值的文本。我可以为每个条件添加每个短语,但我正在考虑使用OR函数以更有效的方式编写它 到目前为止,我有以下几点: = Table.AddColumn(#Changed Type", "Assigned Group", each if Text.Contains([Assigned to], "John") Then "Group 1" else if Text.Cont
= Table.AddColumn(#Changed Type", "Assigned Group", each if Text.Contains([Assigned to], "John") Then "Group 1" else if Text.Contains([Assigned to], "johnny") Then "Group 1" else if Text.Contains([Assigned to], "jane") Then "Group 1" else if Text.Contains([Assigned to], "sean") Then "Group 1" else if Text.Contains([Assigned to], "Mary") Then "Group 2" else if Text.Contains([Assigned to], "Pete") Then "Group 2" else "Group 3")
如前所述,有没有一种方法可以在不使用上述长文本的情况下更有效地编写本文
不知怎的,我试着:
= Table.AddColumn(#Changed Type", "Assigned Group", each if Text.Contains(OR(([Assigned to], "John"), ([Assigned to], "johnny"), ([Assigned to], "jane"), ([Assigned to], "sean"))) Then "Group 1" else if Text.Contains(OR(([Assigned to], "Mary"), ([Assigned to], "Pete"))) Then "Group 2" else "Group 3")
上面说手术室没有被识别。我还尝试了文本之前的OR函数。如果包含短语,则它仍然不起作用
如何在excel或power query中输入OR函数。首先,请记住:M是区分大小写的语言。所以,那么是不正确的语法。PQ中也没有或功能,但有或运算符 您可以使用以下代码:
= Table.AddColumn(
#"Changed Type",
"Assigned Group",
each
let
fn = (list) =>
List.AnyTrue(
List.Transform(list, (x) => Text.Contains([Assigned to], x, Comparer.OrdinalIgnoreCase))
)
in
if fn({"John", "Jane", "Sean"}) then
"Group 1"
else if fn({"Mary", "Pete"}) then
"Group 2"
else
"Group 3"
)
谢谢你提醒我区分大小写,我只是从另一台计算机上输入了整个代码,但没有意识到区分大小写。我会给代码一个尝试,让你知道。保持安全和健康谢谢你,这是有效的,只需要清理数据,使其更准确。