我有一个矩阵,其中每个产品组都有多个页面拆分。我使用以下表达式来获取每个产品组的交替行颜色。问题是,它只能按预期在第1页上正常工作。其他页面(即第2页)会根据以下屏幕截图返回不想要的结果:
表达:
= iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct,Nothing)Mod 2,“ Gainsboro”,“ White”)
答案 0 :(得分:3)
我偶尔使用运行值时遇到问题,只是使用某人不久前创建的“交替行颜色”功能。
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
答案 1 :(得分:0)
诸如RunningValue
之类的集合函数具有一个可选参数来覆盖范围。对于您的情况,您需要引用您要在其中计算行的正确行组。与最低级别的细节相反(默认情况下,细节级别是这样做的)。它应该看起来像这样,但是带有您的组名:
=iif(RunningValue(Fields!CurrentIntroducerManager.Value.ToString,CountDistinct, "MyGroupNameHere") Mod 2,"Gainsboro", "White")