Cognos查询计算 - 如何获取null /空值?

时间:2015-08-31 15:09:57

标签: cognos cognos-10 cognos-bi

我有一个查询计算,它应该给我一个值(如果符合条件)或空值/空值。

代码采用以下形式:

if([attribute] > 3) then ('value') else ('')

目前我能找到获得结果的唯一方法是使用'' (即一个空字符串),但这也是一个值,所以当我随后计算另一个查询中不同值的数量时,我很难得到正确的数字(如果找到,则应从计数中删除空字符串)。

我可以使用以下代码获得结果:

if (attribute='') in ([first_query].[attribute])) then (count(distinct(attribute)-1) else (count(distinct(attribute))

如何避免在涉及attribute

计数的所有后续查询中进行双重计算

2 个答案:

答案 0 :(得分:1)

我使用这个Cognos函数:

nullif(1, 1)

答案 1 :(得分:0)

我发现可以使用case when函数管理:

case when ([attribute] > 3) then ('value') end

不同之处在于case when并不需要拥有处理数据的所有可能选项,如果它发现了一个不在列表中的情况,它只返回一个空白单元格。

完美的我需要的东西(而不是像在相反的情况下在网上记录的那样,即处理应该为零的空案例)。