如果声明在Spotfire中不起作用

时间:2017-02-09 12:15:46

标签: if-statement calculated-columns spotfire

我希望你能帮助我尝试在Spotfire中使用If语句。我想要实现的是这个

我有13个唯一的数字,我想说的是,如果列[GL_ACCOUNT(2)] =这13个数字中的任何一个,那么返回我"不是EFPIA"在我的新计算列' GL帐户过滤器'

最多可以使用两个数字但是一旦我增加了数字,公式将无效。

我的代码如下。一如往常,任何帮助都非常感谢

if([GL_ACCOUNT(2)]="0063304000","0063401000", "0062001000", "Not EFPIA") 

2 个答案:

答案 0 :(得分:1)

不使用TERRJSIronPY,您必须明确OR这些。我认为您正尝试将IN中的TSQL条款视为explained here,但我不知道Spotfire中的该功能。

if([GL_ACCOUNT(2)]="0063304000" or 
   [GL_ACCOUNT(2)]="0063401000" or 
   [GL_ACCOUNT(2)]="0062001000", "Not EFPIA") 

如果您更清晰,也可以使用CASE执行此操作。

case
   when [GL_ACCOUNT(2)] = "0063304000" then "Not EFPIA"
   when [GL_ACCOUNT(2)] = "0063401000" then "Not EFPIA"
   when [GL_ACCOUNT(2)] = "0062001000" then "Not EFPIA"
   else NULL
end

或使用OR ....

case
   when [GL_ACCOUNT(2)] = "0063304000" OR
        [GL_ACCOUNT(2)] = "0063401000" OR
        [GL_ACCOUNT(2)] = "0062001000" then "Not EFPIA"
   else NULL
end

答案 1 :(得分:0)

表达式可以用作

if([GL_ACCOUNT(2)] in "0063304000","0063401000", "0062001000", "Not EFPIA")