求助:编写IBM Cognos表达式筛选近两周日期范围内的数据
在Cognos Analytics中筛选指定日期范围的名称数据
问题分析
你遇到的错误「The result of a calculation cannot be boolean expression」,是因为直接在计算字段里写了布尔判断(BETWEEN语句返回真/假值),但Cognos的计算字段需要返回具体数据值而非布尔结果。另外你的表达式还有两个小问题:
- 拼写错误:
currentddate应为current_date - 范围顺序颠倒:BETWEEN要求左侧是更早的日期,右侧是较晚的日期,原顺序会导致逻辑错误
解决方法
方法1:使用过滤器筛选(推荐)
这是最直接的方式,无需创建计算字段:
- 打开报表的过滤器设置界面
- 添加筛选条件:
[Request Create Date] BETWEEN _add_days(current_date, -14) AND current_date - 应用过滤器后,报表将只显示近两周内的名称数据
方法2:创建计算字段返回符合条件的名称
如果需要在计算字段中返回符合日期范围的名称(不符合的返回空值),可以用CASE语句:
CASE WHEN [Request Create Date] BETWEEN _add_days(current_date, -14) AND current_date THEN [名称字段] ELSE NULL END
将[名称字段]替换为你实际的名称字段名即可。
内容的提问来源于stack exchange,提问作者Rararasputin9090
相关产品推荐
相关产品推荐

