为什么未选择所有参数时SSRS公式会引发错误?

问题描述 投票:0回答:1

我的报告具有2个多值参数:TerritoryGroup和Year。

在每一页上,我显示一个年份。在第一页上,我有一个页面标题和一个图表。在第二页上,我仍然具有该页眉,然后是该参数化值的报告。

我希望第一页的页眉显示第一和最后一个选定的Year。在随后的页面上,我希望页面标题显示该页面的年份。

我的数据集中可用的4年是2001、2002、2003、2004。

我的问题是,当选择4年时,我制作的公式有效,但是当我选择小于4年时,它会引发错误。

这是我的公式:

= IIF(Globals!PageNumber = 1
                ,(IIF(Parameters!Year.Count > 1
                               ,Parameters!Year.Value(0) & " - " & Parameters!Year.Value(Parameters!Year.Count-1)
                                               ,Parameters!Year.Value(0)))
                     ,IIF(Globals!PageNumber = 2
                               ,Parameters!Year.Value(0)
                                               ,IIF(Globals!PageNumber = 3
                                                               ,Parameters!Year.Value(1)
                                                                               ,IIF(Globals!PageNumber = 4
                                                                                              ,Parameters!Year.Value(2)
                                                                                                              ,IIF(Globals!PageNumber = 5
                                                                                                                              ,Parameters!Year.Value(3),"")))))

有人可以帮我吗?如果您需要更多详细信息,请不要犹豫。

reporting-services parameters ssrs-2008 ssrs-2008-r2
1个回答
0
投票
= switch(
Globals!PageNumber = 1 and Parameters!Year.Count = 1 , Parameters!Year.Value(0),
Globals!PageNumber = 1 and Parameters!Year.Count = 2 , Parameters!Year.Value(0) & " - 
" & (Parameters!Year.Value(0)+1),
Globals!PageNumber = 1 and Parameters!Year.Count = 3 , Parameters!Year.Value(0) & " - 
" & (Parameters!Year.Value(0)+2),
Globals!PageNumber = 1 and Parameters!Year.Count = 4 , Parameters!Year.Value(0) & " - 
" & (Parameters!Year.Value(0)+3),
Globals!PageNumber = 2 ,Parameters!Year.Value(0),
Globals!PageNumber = 3 ,Parameters!Year.Value(1),
Globals!PageNumber = 4 ,Parameters!Year.Value(2),
Globals!PageNumber = 5 ,Parameters!Year.Value(3)
)
© www.soinside.com 2019 - 2024. All rights reserved.