use*_*587 5 sql-server conditional-formatting reporting-services ssrs-tablix ssrs-2008-r2
我正在制作 SSRS 排名报告,其中排名 1 应具有绿色背景,最后排名应具有红色背景。
下面的例子:
我尝试使用自定义代码,但这对我不起作用,如下所示:
SSRS 表达式使用如下:
=Code.RankColour(me.value, 1, Fields!RankName.Value)
Run Code Online (Sandbox Code Playgroud)
RankColor代码如下:
Public Function RankColourTotals(ByVal Value As Decimal, ByVal MinValue As Decimal, ByVal MaxValue As Decimal) As String
Dim strColor As String
Select Case Value
Case MaxValue
strColor = "Salmon"
Case MinValue
strColor = "LightGreen"
Case Else
strColor = "Gainsboro"
End Select
Return strColor
End Function
Run Code Online (Sandbox Code Playgroud)
注意:我使用的是 SQL 2008 R2
最后,我最终使用了函数调用,因此我可以灵活地在 1 个位置更改颜色,而不是更改所有列中的表达式(如果业务决定更改颜色)。我的代码如下
Public Function RankColour(ByVal Value As Integer, ByVal MinValue As Integer, ByVal MaxValue As Integer) As String
Dim strColor As String
Select Case Value
Case MaxValue
strColor = "Salmon"
Case MinValue
strColor = "LightGreen"
Case Else
strColor = "White"
End Select
Return strColor
End Function
Run Code Online (Sandbox Code Playgroud)
然后在列单元格中使用的表达式如下:
=Code.RankColour(me.value, Min(Fields!AbsenteeismRank.Value, "dataset1"), Max(Fields!AbsenteeismRank.Value, "dataset1"))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6357 次 |
最近记录: |