2017-01-30 4 views
0

Ich möchte ein Datum als etwas wie gespeichert und etwas wie Herbst 2016 als Ausdruck in Cognos Report Studio (Cognos 10) anzeigen.Soll ich in Cognos 10 Report Studio Expressions DECODE oder CASE verwenden?

Ich brauche nur die Monate 01, 05 und 09 für Winter, Frühling und Herbst zu überprüfen.

Ich habe this question über case und decode überprüft und ich konvertiere alte Cognos7-Berichte in Cognos 10 Report Studio. Ich habe auch die Dokumentation für die case Anweisung für die Verwendung in einer Select -Klausel gelesen, aber ich sehe keine Beispiele dafür, wie man es als Ausdruck in einer berechneten Spalte oder sogar als Singleton schreibt (höchstwahrscheinlich für was ich suche ich).

Die Art, wie ich die alte Technik aus Cognos7 in Cognos 10 Report Studio umgewandelt habe, ist so etwas wie:

CONCAT(CONCAT(DECODE(SUBSTR([TermDate],5 ,2),'09','Fall' ,'01','Winter','Spring') 
, ' ') , SUBSTR([TermDate],1 ,4)) 

ich sehr interessieren würde, wie dies in einer effizienteren zu tun, up-to -date-Methode in Cognos 10 Report Studio und ob CASE das ist, was ich in Ausdrucksfeldern verwenden muss.

+1

Sie könnten 'konvertieren möchten [diese Frage]' in einem Link auf die Frage, die Sie sich beziehen :-) –

+0

'SUBSTR ([TermDate], ..)' ist ungültig SQL für Oracle. Ist '[TermDate]' etwas, das durch Cognos ersetzt wird? –

+0

@a_horse_with_no_name Dies ist ein Feldname. –

Antwort

0

Nach ein paar Minuten merkte ich, dass ich auf dem richtigen Weg war. Hier ist eine ungefähre Lösung.

Der folgende Ausdruck kann in Cognos 10 Report Studio in ein Feld Ausdruck entweder als berechnete Spalte oder als Singleton eingegeben werden.

CASE SUBSTR([TermDate],5 ,2) WHEN '09' THEN 'Fall' 
WHEN '01' THEN 'Winter' 
WHEN '05' THEN 'Spring' 
END || ' ' || SUBSTR([TermDate], 1, 4) 
Verwandte Themen