Cognos函数(十八) - 使用rank时处理为NULL的数据

对于rank函数,基本介绍可以参考上一篇博客:


Cognos函数(十七) - 排名函数:rank 


这里我们简单介绍下怎样处理为NULL的数据

刚开始遇到的时候,是这样处理的:

if(  [数量] is null)
then (null)
else (
	rank(
		[数量] within set level( 
			currentMember([销售].[产品].[产品])
		)
	)
)

但是会有问题,为NULL的数据有时还会出现

百度了下,找到一种解决办法:

if(  [数量] is null)
then (null)
else (
	rank(
		if( [数量] is null ) then ( -999999999) else ([数量]) within set level( 
			currentMember([销售].[产品].[产品])
		)
	)
)
这是降序时,如果数据是NULL,就给NULL值一个很小的值,让他排到最后面

升序时,就给他一个很大的值,让他排到最后面,

这样就不会影响我们的其他正常数据的显示了

这里就不举实例了,大家可以在实际情况下试试

你可能感兴趣的:(函数,null,rank,Cognos,ReportStudio)