为什么我被告知我的'then'和'else'表达式不是同一类型?

时间:2016-11-03 14:07:34

标签: string if-statement type-conversion cognos

我使用if-then-else语句在IBM Cognos Report Studio 10.2.2上的查询连接中定义变量。在'then'子句中,我使用硬编码字符串'Not reportable'。对于'else'子句,我使用变量[Generational Distribution],它在查询连接中的其他地方定义,并且是来自其中一个连接查询的字符串值变量。因此,我希望'then'和'else'子句都是字符串值。

然而,当我跑步时,我收到以下错误:

OP-ERR-0206 Unsupported 'if' expression dataItem = "Generation Reportable." The 'then'
(expression = "'Not reportable'") and 'else' (expression = "[Generational Distribution]")
clauses must have the same data type.

细节开始:

RSV-SRV-0042 Trace back:RSReportService.cpp(724): QFException: CCL_CAUGHT:

1 个答案:

答案 0 :(得分:0)

我尝试通过将else子句更改为trim(cast([Generational Distribution],char(15)))来解决问题。报告现在运行良好,但其他奇怪的事情发生了。该项目显示为' Boomers'对于' if'条款是假的,而且还有“千禧一代”。和X' X'代。