我有一个Matrix,每个产品组都有多个页面拆分。我使用下面的表达式来获得每个产品组的交替行颜色。问题是它只能在第1页上按预期工作。其他页面(即第2页)会根据以下屏幕截图显示不需要的结果:
表达:
= iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct,Nothing)Mod 2,“Gainsboro”,“White”)
我偶尔会遇到使用Running Value的问题,只是使用有人创建的Alternating Row Color函数。
Private bOddRow As Boolean
'*************************************************************************
' -- Display green-bar type color banding in detail rows
' -- Call from BackGroundColor property of all detail row textboxes
' -- Set Toggle True for first item, False for others.
'*************************************************************************
Function AlternateColor(ByVal OddColor As String, _
ByVal EvenColor As String, ByVal Toggle As Boolean) As String
If Toggle Then bOddRow = Not bOddRow
If bOddRow Then
Return OddColor
Else
Return EvenColor
End If
End Function
对于控制颜色的第一列:
=Code.AlternateColor("AliceBlue", "White", True)
对于其余列,请勿使用第三个参数切换:
=Code.AlternateColor("AliceBlue", "White", False)
您可能需要在矩阵中切换第一列中的颜色。
Alternating row color expression in SSRS matrix not working correctly
像RunningValue
这样的聚合函数有一个可选参数来覆盖范围。在您的情况下,您需要引用正在尝试计算行数的正确行组。与默认情况下最低级别的细节相反。它看起来应该是这样,但是使用您的组名:
=iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct, "MyGroupNameHere") Mod 2,"Gainsboro", "White")