If statement 从Tableau中的表中排除多个值

If statement 从Tableau中的表中排除多个值,if-statement,filter,tableau-api,contains,If Statement,Filter,Tableau Api,Contains,画面问题 我是个新手。我有一个字段名[Fruit description],我试图用关键字排除很多值。 例如,我要排除所有带有短语[非常红]或[多汁]等的值 我尝试了使用IF Contains([field],[substring])=true的多个语法。。。我做错了一件事 以下是我所做的: If CONTAINS([fruit_description],"Very red")=true then "exclude" ELSEIF [fruit_description], "juicy"

画面问题

我是个新手。我有一个字段名[Fruit description],我试图用关键字排除很多值。 例如,我要排除所有带有短语[非常红]或[多汁]等的值

我尝试了使用IF Contains([field],[substring])=true的多个语法。。。我做错了一件事

以下是我所做的:

  If CONTAINS([fruit_description],"Very red")=true then "exclude"
  ELSEIF [fruit_description], "juicy") =true then "exclude"
  ELSEIF CONTAINS([fruit_description],"yummy")=true then "exclude"
  ELSEIF CONTAINS([fruit_description],"very tasteful")=true then "exclude"
 else "keep"
 END
我还试着说=真,然后是0或1 但这些都不管用。 我发现语法错误

有什么帮助吗?:)
谢谢

如果这是您计算字段的直接副本,那么您在第二行缺少一块:

ELSEIF [fruit_description], "juicy") =true then "exclude"
应该是

ELSEIF CONTAINS([fruit_description], "juicy") =true then "exclude"
你不必说“=真”。那是多余的

将布尔表达式作为一级数据类型处理,就像处理整数或字符串一样,更简单、更可读。然后,您可以定义一个名为[Tasty?]的布尔值计算字段作为

CONTAINS([fruit_description],"Very red") OR
CONTAINS([fruit_description], "juicy") OR
CONTAINS([fruit_description],"yummy") OR
CONTAINS([fruit_description],"very tasteful")
然后您可以在任何工具架或计算字段(包括过滤器工具架)上使用[Tasty?]。我的个人习惯是放一个?在布尔值字段名称的末尾,因为它使该字段的True或False的含义显而易见。您还可以编辑“别名”字段,以便显示的标签更加明显,例如使用别名Tasty和Yucky来显示字段[Tasty?]的True和False


最后,如果您在大数据上进行大量类似这样的字符串比较,您可能希望寻找更有效的方法,例如使用正则表达式或预计算计算-使用Tableau Prep Builder或创建摘录。

您能分享您看到的确切错误吗?另外,你能告诉我们<代码>区别(水果描述)< /代码>吗?既然答案对你有用,就考虑接受答案吧。我不知道我能做到。谢谢:)