比较组下的行并显示匹配或不匹配时的 SSRS 问题

SSRS-Problem in Comparing rows under a group and show it Matched or Unmatched

我的数据如下所示,并在第 1 列分组。我需要将 column2 与 in Group 进行比较,并突出显示 column2 的值在 Column3-

中是相同还是不同
Column1 Column2 Column3
123     111 
123     111 
1234    2222    
1234    2222    
1234    3333

我在 Column3 中使用表达式,如下所示。最后你可以 "Column1" 我已经提到它考虑到它会分组然后比较。

=IIF(Fields!Column2.Value = Previous(Fields!Column2.Value), "Same", IIF (Fields!Column2.Value <> Previous(Fields!Column2.Value), "Different")), "Column1"

我的期望如下,即如果 Column2 的所有值在一个组(column1 分组)下都相同,则应该填充 column3,然后 Column3 应该流行相同,否则对组下的所有行不同

Column1 Column2 Column3
123      111    Same
123      111    Same
1234    2222    Different
1234    2222    Different
1234    3333    Different

更简单的方法是:

=IIF(Fields!Column2.Value = Fields!Column1.Value, "Same", "Different")

您可以为此使用 CountDistinct。

如果我们假设您的 Column1 'RowGroup' 被称为 grpCol1,那么第 3 列中的表达式看起来就像这样。

= IIF(CountDistinct(Fields!Column2.Value,"grpCol1") >1 , "Different", "Same")

基本上这就是说.. 计算行组 grpCol1

中有多少个不同的 Column2 值

因此,对于您示例中的前两行,它将 return 1 因为只有 1 个不同的值,对于接下来的三行,它将 return 2 因为有 2 个不同的值.

注意: grpCol1 或您调用的任何行组必须在 qoutes 内并且区分大小写。