代码之家  ›  专栏  ›  技术社区  ›  Rick Henderson

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

  •  0
  • Rick Henderson  · 技术社区  · 7 年前

    我想把一个日期存储为 201609 并显示类似的内容 2016年秋季 作为Cognos Report Studio(Cognos 10)中的表达式。

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

    我查过了 this question 关于 case decode 我正在将旧的Cognos7报表转换为Cognos10 ReportStudio。我还阅读了 案例 用于在 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 是我需要在表达式字段中使用的。

    1 回复  |  直到 7 年前
        1
  •  0
  •   Rick Henderson    7 年前

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

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