Cognos Report Studio: CASE and IF Statements



我对使用Cognos report studio并尝试过滤一些值并将其替换为其他值非常陌生。

我目前有一些值是空白的,并希望将它们替换为字符串";财产索赔;

我试图在我的主查询中使用的是

CASE WHEN[Portfolio]为空然后是"财产索赔"ELSE[投资组合]

这给了我一个错误。我还想放一个不同的过滤器,将挡风玻璃标志替换为字符串值,而不是数字。例如,如果标志为1,我想将其放置为"挡风玻璃声明"。

如果[声明挡风玻璃标志]=1然后("挡风玻璃"(Else[索赔挡风玻璃标志]

所有这些都不适用于相同的错误。。。。有人能帮我一把吗?

您的第一个CASE语句缺少END。错误消息应该非常清楚。但有一种更简单的方法:

coalesce([Portfolio], 'Property Claims')

第二个问题类似:IF...THEN...ELSE语句缺少一堆括号。但在更正后,您可能会遇到不兼容数据类型的问题。您可能需要将数字转换为字符串:

case
when [Claim Windscreen Flag] = 1 then ('Windscreen')
else cast([Claim Windscreen Flag], varchar(50))
end

以后,请包括错误消息。

可能是语法

  • IS NULL(而不是=NULL(
  • NULL不为空。您可能还想要=">
  • case可能需要在底部添加else和END
  • 将数据类型引用为其他类型可能会导致错误。例如,像[Sales]='Jane Doe'这样的数字

例如(假设结果是字符串,数据项2也是字符串(,

case
when([data item 1] IS NULL)Then('X')
when([data item 1] = ' ')Then('X')
else([data item 2])
end

此外,如果您想将数据项显示为不同的类型,可以使用CAST

相关内容

  • 没有找到相关文章

最新更新