我想将日期存储为类似201609,并在 Cognos Report Studio (Cognos 10) 中显示类似 2016 年秋季的表达式。
我真的只需要检查冬季、春季和秋季的 01、05 和 09 月份。
我已经检查了有关case
和decode
的问题,并且正在将旧的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)