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



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

我真的只需要检查冬季、春季和秋季的 01、05 和 09 月份。

我已经检查了有关casedecode的问题,并且正在将旧的Cognos7报告转换为Cognos 10 Report Studio。我还阅读了在 Select 子句中使用的 case 语句的文档,但我没有看到任何如何将其编写为计算列中的表达式甚至作为 Singleton 编写的示例(最有可能用于我正在寻找的内容)。

我将旧技术从 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是否是我需要在表达式字段中使用的方法。

又过了几分钟,我意识到我走在正确的轨道上。这是一个近似的解决方案。

以下表达式可以作为计算列或单一实例输入到 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)

最新更新