s-s-rS 2008 R2 使用两个 iif 语句

Posted

技术标签:

【中文标题】s-s-rS 2008 R2 使用两个 iif 语句【英文标题】:s-s-rS 2008 R2 using two iif statements 【发布时间】:2013-11-20 22:48:16 【问题描述】:

在现有的 s-s-rS 2008 r2 报告中,我有以下 IIF(RowNumber(Nothing) Mod 2 = 0, "Gainsboro", "White") 用于每个其他详细信息行行的背景颜色。 基本上一条细节线是白色的,下一条细节线是浅绿色的。

现在用户希望所有其他详细信息行在报表服务器上显示时保持白色和浅绿色。但是,当报表要导出到 excel 时, 用户希望导出到 excel 的所有行都是完全白色的。

以下是用户将完成的步骤:  用户将从“Excel Export_Hide Headers”下拉列表中选择“Hide”。  用户将在将报告导出到 Excel 之前选择查看按钮。  然后,用户将选择导出到 excel 选项。 **当假设报表导出到 excel 时,用户基本上会隐藏标题行。 . 隐藏标题行时,使用以下逻辑:iif(Parameters!ExcelToolbar.Value = 0,false,true)

那么您能告诉我如何将iif(Parameters!ExcelToolbar.Value = 0,false,true)IIF(RowNumber(Nothing) Mod 2 = 0, "Gainsboro", "White") 语句联系起来吗?

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

【问题讨论】:

【参考方案1】:

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

对于嵌套的 iif 语句,应该是这样的,根据工具栏设置检查决定使用 Gainsboro 还是白色。

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

如果要嵌套 3 个或更多(在决策函数部分提到),也建议使用 switch 语句:http://msdn.microsoft.com/en-us/library/ms157328.aspx

【讨论】:

我没有使用 switch 语句。因此,您能告诉我在这种情况下如何使用 switch 语句吗? 不确定 switch 是不是最好的主意,但它会是这样的。这是假设您每次 Exceltoolbar.value 为 0 时都想要白色。=Switch(Parameters!ExcelToolbar.Value = 0, "White",RowNumber(Nothing) Mod 2 = 0,"Gainsboro",True,"White")

以上是关于s-s-rS 2008 R2 使用两个 iif 语句的主要内容,如果未能解决你的问题,请参考以下文章

s-s-rS 2008 R2 excel 导出在报表服务器上不起作用

如何使用 VS 2008 BIDS 创建 s-s-rS 2008r2 rdl

s-s-rS 2008-R2 使用 RDL 作为 portlet\widget 生成器

s-s-rS 2008 R2 订阅

SQL Server 2008 R2 / s-s-rS 2008:服务水平报告创建

s-s-rS 根据背景颜色设置字体颜色