【问题标题】:SSRS 2008 R2 using two iif statementsSSRS 2008 R2 使用两个 iif 语句
【发布时间】:2013-11-20 22:48:16
【问题描述】:

在现有的 SSRS 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 语句吗?如果这不是解决方案,您会用代码向我展示、向我解释和/或指向一个可以解决我的问题的网址吗?

【问题讨论】:

    标签: excel reporting-services ssrs-2008 export-to-excel


    【解决方案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")
    猜你喜欢
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多