首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cognos Report Studio: CASE和IF语句

Cognos Report Studio: CASE和IF语句
EN

Stack Overflow用户
提问于 2021-04-02 11:19:11
回答 2查看 117关注 0票数 0

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

我目前有一些值显示为空格,并希望将它们替换为字符串"Property Claims“

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

当Portfolio为空时,则'Property Claims‘否则Portfolio

这给了我一个错误。我还想放入一个不同的过滤器,将挡风玻璃标志替换为字符串值,而不是数字。例如,如果标志为1,我希望将其设置为“挡风玻璃索赔”。

如果声明挡风玻璃标志=1,则(‘挡风玻璃’)否则声明挡风玻璃标志

这些都不能用同一个error....can谁来帮我一下?

EN

回答 2

Stack Overflow用户

发布于 2021-04-06 01:55:35

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

代码语言:javascript
复制
coalesce([Portfolio], 'Property Claims')

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

代码语言:javascript
复制
case
  when [Claim Windscreen Flag] = 1 then ('Windscreen')
  else cast([Claim Windscreen Flag], varchar(50))
end

以后,请附上错误信息。

票数 1
EN

Stack Overflow用户

发布于 2021-04-02 21:13:44

它可能是语法

  • IS NULL (而不是= null)
  • NULL不为空。您可能还希望=‘’
  • 用例可能需要一个else并在数据类型的bottom
  • referring处结束,因为其他内容可能会导致错误。例如,像Sales = 'Jane Doe'

这样的数字

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

代码语言:javascript
复制
case
when([data item 1] IS NULL)Then('X')
when([data item 1] = ' ')Then('X')
else([data item 2])
end

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66914011

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档