我正在使用SSRS运行SQL Server 2008 R2。
我在一个简单的SSRS报告中嵌入了一些vb代码。我的SSRS报告中的列详细信息返回值为0.2或3.值2似乎每次都变为绿色...
我的vb代码只是将单元格更改为红色,橙色或绿色,具体取决于单元格中的数字。它适用于0和3,但不是因为某些任意原因而不适用于数字....
我的代码如下:
Public Shared Function GetColor(ByVal value as Int32) As String
If value = 0 Then
return “Green"
ElseIf value = 2 Then
return "White"
Else
return "Red"
End IF
End Function
然后,我使用表达式来表示单元格的背景颜色。使用以下代码:
=Code.GetColor(Fields!status.Value)
如果需要其他信息,请与我们联系。
答案 0 :(得分:1)
这是一个比使用自定义代码简单得多的switch语句。切换语句在处理更复杂的if else逻辑时非常有用,并且可以让您更轻松地组织结果。它也不会让你通过一堆自定义代码搜索,以找到需要工作的表达式,如果需要改变的话。
你需要把它放在"填充"表达式在文本框属性中。
=switch(fields!status.Value = 0, "green",
fields!status.Value = 2, "orange",
fields!status.Value = 3, "red")
我使用以下数据集来测试它。
SELECT 0 AS Expr1, 'green' AS Expr2
UNION ALL
SELECT 2 AS Expr1, 'orange' AS Expr2
UNION ALL
SELECT 3 AS Expr1, 'red' AS Expr2
使用此开关产生以下结果。