我使用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提前为您提供帮助。 菲尔
答案 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关键词只允许作为轴子句的第一部分,而不是任意集。