2012-01-27 85 views
1

是否有任何方法可以标记包含与其他组中的不同值的单元格? Examle:根据不同值标记单元格

GroupId | Col1 | Col2 
1  | 1 | 2 
1  | 1 | 2 
2  | 5 | 2 
2  | 6 | 2 
3  | 1 | 4 
3  | 1 | 4 
3  | 1 | 5 
4  | 3 | 1 
4  | 3 | 4 
  • 在第一组中(的GroupId = 1)中单元格的值相同,则无关
  • 在第二组(的GroupId = 2)在列值细胞Col1中是不同的,并且我需要标记为红色
  • 中的GroupId = 2 Col1中细胞在第三组(的GroupId = 3)在那里Col2中不同的值,并需要标志着所有Col2中细胞的GroupId = 3在红色

PS值可以是字符串或数字,组的大小> = 2行

回答

0

完成此操作的最简单方法是向查询添加一个字段,或向您报告第二个查询。

的第二数据集可能是这样的

SELECT 
GroupID, 
CASE WHEN COUNT(DISTINCT Col1) > 1 THEN 1 ELSE 0 END AS HighlightCol1, 
CASE WHEN COUNT(DISTINCT Col2) > 1 THEN 1 ELSE 0 END AS HighlightCol2 
FROM MyTable 
GROUP BY GroupID 

然后可以使用LOOKUP功能(在SSRS 2008R2加入),其将从第二数据集基于在基准值检索值设定的公式当前数据集。

=IIF(LOOKUP(
     Fields!GroupID.Value, 
     Fields!GroupID.Value, 
     Fields!HighlightCol1.Value, 
     "DataSet2Name") = 1, 
    "red", 
    "white") 

如果您使用早于2008R2的SSRS,我会考虑将新字段添加到当前数据集。然后您可以跳过LOOKUP功能。

您可以在报告图层中完成同样的事情,但这会比上述解决方案稍微复杂一些。

相关问题