MDX - 根据参数有或没有空行

时间:2013-07-30 13:42:34

标签: null case mdx

我使用MDX作为SSRS报告的基础。我现在正在尝试创建一个参数来定义是否应该在报表中显示NULL-Entry行。是否有可能以这样的方式编写MDX:

select
CASE @WithNull
 WHEN 'false'   THEN 'NONEMPTY'
 WHEN 'true'    THEN ''
 END
{[Dimension1]} on 0,
{[Dimension2]
 * [Dimension3]} on 1
from [Cube]

意思是,如果用户在“True”上设置参数“WithNull”,则MDX将显示NULL-Entries,否则它们将被省略。

我已经尝试在报告中解决它,但它也没有解决。

Thanx提前为您提供帮助。 菲尔

1 个答案:

答案 0 :(得分:1)

我认为你不能直接参数化这部分查询,但由于轴是MDX集,应该可以计算这些(我没试过):

select
CASE @WithNull
     WHEN 'false'   THEN NonEmpty( {[Dimension1]} )
     ELSE                          {[Dimension1]} 
END
on 0,
{[Dimension2] * [Dimension3]}
on 1
from [Cube]

我在这里使用了NonEmpty函数,它需要一个set作为参数并返回一个集合。我认为,NON EMPTY关键词只允许作为轴子句的第一部分,而不是任意集。