2017-01-30 3 views
0

のように日付を取得し、Fall 2016のようなコードをCognos Report Studio(Cognos 10)の式として表示したいとします。Cognos 10 Report Studio ExpressでDECODEまたはCASEを使用する必要がありますか?

冬、春、秋の場合は、実際には01月、05月、09月を確認するだけです。

this questioncasedecodeを確認しました。古いCognos7レポートをCognos 10 Report Studioに変換しています。私は文のドキュメントをSelect句の中で使用するための文章も読んだことがありますが、計算された列の式として、あるいはシングルトンとしても書く方法の例はありません。私は探しています)。

私はレポートのスタジオのようなものであるCognos7からCognosの10の古い技術を変換してきた方法:私はアップへ、より効率的にこれを行う方法に非常に興味があると思い

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

Cognos 10 Report Studioの-dateメソッドと、式フィールドで使用する必要があるのはCASEのいずれかです。

+1

あなたは '[この質問]'あなたが –

+0

'SUBSTR([TermDate]、...)は' Oracleの無効なSQLです:-)に言及している問題へのリンクに変換することができます。 '[TermDate]'はCognosに置き換えられていますか? –

+0

@a_horse_with_no_nameこれはフィールド名です。 –

答えて

0

数分後、私は正しい軌道に乗っていることに気付きました。ここにおおよその解決策があります。

次の式は、計算列として、またはシングルトンとして、Cognos 10 Report Studioの[式]フィールドに入力できます。

CASE SUBSTR([TermDate],5 ,2) WHEN '09' THEN 'Fall' 
WHEN '01' THEN 'Winter' 
WHEN '05' THEN 'Spring' 
END || ' ' || SUBSTR([TermDate], 1, 4) 
関連する問題