首页 > 解决方案 > SSRS-Problem in Comparing rows under a group and show it Matched or Unmatched

问题描述

我的数据如下所示,并且在 Column1 分组。我需要将 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

标签: reporting-servicesssrs-grouping

解决方案


您可以为此使用 CountDistinct。

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

= IIF(CountDistinct(Fields!Column2.Value,"grpCol1") >1 , "不同", "相同")

基本上这说.. 计算行组 grpCol1 中有多少不同的 Column2 值

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

注意: grpCol1或者你的行组被称为必须在 qoutes 内并且区分大小写。


推荐阅读