Reporting services 根据不同的值标记单元格
有没有办法标记组中包含不同值的单元格? 例如: 在同一单元格中的第一个groupid=1值中,无需执行任何操作 在第二组中,列Col1中的GroupId=2值单元格不同,我需要用红色标记GroupId=2 Col1中的单元格 在Col2中的第三组GroupId=3中有不同的值,需要将Col2中GroupId=3的所有单元格标记为红色Reporting services 根据不同的值标记单元格,reporting-services,Reporting Services,有没有办法标记组中包含不同值的单元格? 例如: 在同一单元格中的第一个groupid=1值中,无需执行任何操作 在第二组中,列Col1中的GroupId=2值单元格不同,我需要用红色标记GroupId=2 Col1中的单元格 在Col2中的第三组GroupId=3中有不同的值,需要将Col2中GroupId=3的所有单元格标记为红色 p.S.值可以是字符串或数字,组的大小>=2行实现这一点的最简单方法是向查询中添加一个字段,或向报表中添加第二个查询 第二个数据集可能类似于 SELECT Grou
p.S.值可以是字符串或数字,组的大小>=2行实现这一点的最简单方法是向查询中添加一个字段,或向报表中添加第二个查询 第二个数据集可能类似于
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
然后,您可以使用SSRS 2008R2中添加的函数设置公式,该函数将根据当前数据集中的参考值从第二个数据集中检索值
=IIF(LOOKUP(
Fields!GroupID.Value,
Fields!GroupID.Value,
Fields!HighlightCol1.Value,
"DataSet2Name") = 1,
"red",
"white")
如果您使用的SSRS早于2008R2,我会考虑向当前数据集添加新字段。然后可以跳过查找功能
您可以在报表层完成同样的事情,但这比上面的解决方案要复杂一些
=IIF(LOOKUP(
Fields!GroupID.Value,
Fields!GroupID.Value,
Fields!HighlightCol1.Value,
"DataSet2Name") = 1,
"red",
"white")