2013-11-20 50 views
0

在现有的SSRS 2008 R2报告中,对于每个其他背景颜色,我都有以下“IIF(RowNumber(Nothing)Mod 2 = 0,”Gainsboro“,”White“))细节线行。 基本上一条细节线是白色的,下一条细节线是淡绿色。SSRS 2008 R2使用两个iif语句

现在用户希望每个其他明细行在报表服务器上显示时都保持白色和浅绿色。但是,如果要将报告导出为ex​​cel,则需要 用户希望所有导出为ex​​cel的行完全变白。

用户将完成以下步骤: 用户将从'Excel Export_Hide Headers'下拉列表中选择'隐藏'。 用户将下一步选择查看按钮,然后将报告导出为ex​​cel。 用户将选择导出为ex​​cel选项。 **当报告假设导出为ex​​cel时,用户基本上会隐藏标题行。 。 正在隐藏标题行时,正在使用以下逻辑:“iif(参数!ExcelToolbar.Value = 0,false,true)”。你可以告诉我如何将“iif(Parameters!ExcelToolbar.Value = 0,false,true)”与“IIF(RowNumber(Nothing)Mod 2 = 0,”Gainsboro“,”White “)”声明?

这是嵌套的iif语句吗?如果是这样,你能告诉我如何设置适用的嵌套iif语句?如果这不是解决方案,你会用代码告诉我,向我解释,和/或指向我的网址,这将解决我的问题?

回答

2

嵌套if语句应该工作,或者您可以编写一个函数,在报表的代码部分中使用布尔值并调用该函数。

对于嵌套的iif命令,应该是这样的,检查决定使用Gainsboro或白色基于工具栏设置。

IIF(RowNumber(Nothing) Mod 2 = 0, IIF(Parameters!ExcelToolbar.Value = 0,"Gainsboro","White"), "White") 

此外,还建议使用switch叙述,如果你打算窝3个或更多(在决策功能部分提到):http://msdn.microsoft.com/en-us/library/ms157328.aspx

+0

我没有用一个switch语句。那么你能告诉我如何在这种情况下使用switch语句吗? – user3009532

+0

不确定开关在这里是最好的主意,但它会是这样的。这是假设您每次Exceltoolbar.value为0时都需要白色。'= Switch(参数!ExcelToolbar.Value = 0,“White”,RowNumber(Nothing)Mod 2 = 0,“Gainsboro”,True,“White”) ' – Glen