1

请原谅这个绝对新手的问题,但我对画面很陌生。我想做的是根据哪些过滤器标志处于活动状态创建一条消息。所以,在伪代码中,我会做这样的事情:

message = ''
if filter1 == 1:
  message += 'filter 1 is active'
if filter2 == 1:
  message += ' filter 2 is active'
return message

问题是,我什至不确定如何执行多个 if 语句 - 我不断收到语法错误。任何帮助将不胜感激。

4

3 回答 3

3

这是我如何完成类似操作的示例:

IF [ZAVUFA1_FED_COLL_CHOICE_1] = 'xxxxx' THEN 1
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_2] = 'xxxxx' THEN 2
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_3] = 'xxxxx' THEN 3
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_4] = 'xxxxx' THEN 4
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_5] = 'xxxxxx' THEN 5
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_6] = 'xxxxx' THEN 6
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_7] = 'xxxxxx' THEN 7
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_8] = 'xxxxxx' THEN 8
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_9] = 'xxxxx' THEN 9
ELSEIF [ZAVUFA1_FED_COLL_CHOICE_10] = 'xxxxxx' THEN 10
ELSEIF ISNULL([ZAVUFA1_FED_COLL_CHOICE_1]) THEN 99
END

尽管我很喜欢 stackoverflow,但 Tableau 在他们的网站上也有一个很棒的用户论坛。

于 2011-03-28T14:35:09.747 回答
1

您将使用以下代码创建一个名为 message 的计算字段:

IF filter1 = 1 THEN 'filter 1 is active' END
+ IF filter2 = 1 THEN ' filter 2 is active' END
于 2012-03-28T17:43:35.757 回答
0

我最终做的是为每个 if 语句创建一个计算字段。然后,我创建了另一个计算字段,它将我创建的第一组计算字段中的每一个的所有输出连接起来。似乎有点像黑客,所以如果有人知道这样做的更优雅的方式(使一系列计算字段的计算字段看起来非常笨拙),我很乐意提供答案。

于 2011-03-28T15:42:47.137 回答