我对使用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