我正在使用Cognos Framework Manager,并且正在为动态排序创建一个数据项。我正在使用 CASE WHEN 创建数据项,这是我的示例代码:
CASE #prompt('SortOrder', 'string')#
WHEN 'Date' THEN <Date Column>
WHEN 'ID' THEN <String Column>
END
我QE-DEF-0405 Incompatible data types in case statement
收到此错误.虽然我可以将日期列转换为字符串,但这不会使"日期"选项的排序出错吗?我应该以不同的方式投射日期列,投射整个大小写,还是对着错误的树吠叫?根据我的问题,通过具有多种列数据类型的CASE
创建动态列时是否应该有一般规则?
框架管理器中的列应具有数据类型。只有一种数据类型。因此,您需要将日期列转换为正确排序的字符串。例如,"yyyy-mm-dd"格式。
您正在使用两种不同类型的数据格式,因此在提示函数中使用令牌而不是字符串(#prompt('sortorder','token')#)