对于rank函数,基本介绍可以参考上一篇博客:
这里我们简单介绍下怎样处理为NULL的数据
刚开始遇到的时候,是这样处理的:
if( [数量] is null)
then (null)
else (
rank(
[数量] within set level(
currentMember([销售].[产品].[产品])
)
)
)
百度了下,找到一种解决办法:
if( [数量] is null)
then (null)
else (
rank(
if( [数量] is null ) then ( -999999999) else ([数量]) within set level(
currentMember([销售].[产品].[产品])
)
)
)
这是降序时,如果数据是NULL,就给NULL值一个很小的值,让他排到最后面
升序时,就给他一个很大的值,让他排到最后面,
这样就不会影响我们的其他正常数据的显示了
这里就不举实例了,大家可以在实际情况下试试