message = ''
if filter1 == 1:
message += 'filter 1 is active'
if filter2 == 1:
message += ' filter 2 is active'
return message
问题是,我甚至不确定如何做多个if语句 - 我不断收到语法错误。任何帮助将不胜感激。
答案 0 :(得分: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在其网站上也有一个很棒的用户论坛。
答案 1 :(得分:1)
您将使用以下代码创建一个名为message的计算字段:
IF filter1 = 1 THEN 'filter 1 is active' END
+ IF filter2 = 1 THEN ' filter 2 is active' END
答案 2 :(得分:0)
我最终做的是为每个if语句创建一个计算字段。然后我创建了另一个计算字段,该字段连接了我创建的第一组计算字段的所有输出。看起来有点像黑客,所以如果有人知道更优雅的方式这样做(使一系列计算字段的计算字段看起来非常糟糕)我会很高兴传递回答点。