2

我有以下情况:

使用嵌套组报告,组列的值是 1 还是 2。下一个子组对于每个父组有 2 个组,因此对于父组 1 有两个子组(1-1 和 1-3),对于父组也有2 我有两个儿童组(2-2 和 2-4)。

我的问题是,如何为WhiteSmoke1-1 的行设置颜色,为White1-3 的行设置颜色,再WhiteSmoke为 2-2 和White2-4 设置颜色。

如果有像 1、2、3、... 这样的顺序,那么使用Mod运算符会很容易,但我的顺序是 1、3、2、4,我找不到交替颜色的算法

已编辑

在此处输入图像描述

4

5 回答 5

4

我找到了答案。

=IIF(RunningValue("NameofGrouptoAlternateColor", CountDistinct, "NameofParentGroup") Mod 2, "White", "Wheat")

这对我有用,我认为这是原始海报试图完成的。

于 2013-08-23T13:42:39.873 回答
2
=IIF(RunningValue(Fields!FieldToGroupOn.Value, CountDistinct, "ParentGroupName") Mod 2, "LightGrey", "Transparent")

在哪里:

FieldToGroupOn是您要分组并希望产生交替颜色的数据集中的字段。

ParentGroupName是 tablix 中行组的名称,它是您希望为其交替颜色的组的父级。

于 2017-01-26T17:47:28.440 回答
1

如果我理解正确,您想在“组更改”上交替颜色。如果是这样,这是解决方案:

IIf(RowNumber("TheNameOfYourGroup") Mod 2 = 0, "White", "WhiteSmoke")

这就是您用于Background Color财产的表达方式。

于 2013-02-13T15:42:25.613 回答
1

假设这是顺序:1,3,2,4,5,7,6,8...您只想着色3,4,7,8..

那么表达式应该是:

=iif(RowNumber(Nothing) Mod 4 <> 0 AND
 ((RowNumber(Nothing)+1) Mod 4 <> 0), "White", "WhiteSmoke")

在此处输入图像描述

于 2013-02-13T14:36:43.233 回答
1

我被迫使用自定义代码来实现您的目标,这是我的解决方案:

自定义代码部分

Public Shared ReverseLookup = True
Public Function GetColor(ByVal currentValue As Integer, ByVal previosValue As Integer) As String
    If ReverseLookup = True
        If currentValue = previosValue Then
                GetColor = "Gray"
        Else
                GetColor = "Green"
                ReverseLookup = False
        End If
    Else
        If currentValue = previosValue Then
                GetColor = "Green"
        Else
                GetColor = "Gray"
                ReverseLookup = True
        End If
    End If
End Function

在 BackgroundColor 属性中:

=Code.GetColor(Fields!secondid.Value, Previous(Fields!secondid.Value)) 

输入参数是当前的 secondid 值(来自 paren 详细信息组的值)和 previos secondid 值。

这是我的结果:我相信这正是您所需要的:)

在此处输入图像描述

于 2013-02-14T12:21:08.823 回答