2017-02-09 5 views
1

Ich hoffe, Sie können mir helfen, eine If-Anweisung in Spotfire zu verwenden. Was ich versuche zu erreichen, ist diesWenn die Anweisung in Spotfire nicht funktioniert

Ich habe 13 eindeutige Nummern und was ich versuche zu sagen ist, dass, wenn Spalte [GL_ACCOUNT(2)] = eine dieser 13 Zahlen dann mir "Nicht EFPIA" in meiner neuen berechneten Spalte "GL Account Filter '

Es funktioniert bis zu zwei Zahlen, aber sobald ich die Anzahl der Zahlen erhöhen, wird die Formel nicht funktionieren.

Mein Code ist unten. Wie immer wird jede Hilfe sehr geschätzt

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

Antwort

1

Ohne Verwendung TERR oder JS oder IronPY Sie müssen explizit OR zusammen diese. Ich denke, Sie versuchen, etwas wie die IN Klausel in TSQL als explained here zu tun, aber ich bin mir dieser Funktionalität in Spotfire nicht bewusst.

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

Sie können dies auch mit einem CASE wenn das für Sie besser lesbar ist.

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 

Oder mit dem OR ....

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

scsimon verwendet werden: Beifallgehilfe diese perfekt funktioniert. –

+0

Keine Sorgen Kumpel, froh, dass es für dich @PhilipConnell geklappt hat – scsimon

0

Der Ausdruck kann als

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