我应该在Cognos 10 Report Studio表达式中使用DECODE还是CASE?

时间:2017-01-30 14:43:42

标签: sql oracle10g cognos-10

我希望将日期存储为 201609 ,并在Cognos Report Studio(Cognos 10)中显示类似 2016年秋季的表达式。

我真的只需要查看冬季,春季和秋季的01,05和09月。

我已检查过this question casedecode,我将旧的Cognos7报告转换为Cognos 10 Report Studio。我还阅读了在case子句中使用的Select语句的文档,但是我没有看到如何将其作为计算列中的表达式或甚至作为表达式编写的示例单身人士(最有可能用于我正在寻找的东西)。

我将旧技术从Cognos7转换为Cognos 10 Report studio的方式如下:

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

我对如何在Cognos 10 Report Studio中以更高效,最新的方法执行此操作非常感兴趣,并且CASE是否需要在Expression字段中使用。

1 个答案:

答案 0 :(得分: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)