我一直在研究具有以下结构的SSRS报告:
“实际值”部分是用于聚合目的的行组。 “问题”部分是“详细信息”组。
报表本身会显示实际值和预期值,如果“实际值”部分中的相关值不同,则应将其显示为红色(值1,值2等)。
我已经使用此模板实现了SSRS报告,但是我正在努力为受影响的单元着色。
对于实例,对于“实际值”部分中的第一条汇总行-“问题”部分中也存在Value3 = 4,因此我想使用红色填充“实际值”部分下的Value3单元格。这样的东西显然行不通:
=IIF(Fields!Value3.Value = Fields!Actual Values.Value, "Tomato", "Transparent")
我尝试使用Lookup,但是它仅适用于第一个匹配项,并且仅覆盖第一个汇总行:
=IIF(Value3 = Lookup("Value3",Fields!BreakName.Value,Fields!AccountEntityId Values.Value,"DataSet"), "Tomato", "Transparent")
基本上,我需要针对“实际值”部分中的每一行遍历“问题”部分中的每条记录,比较值,如果匹配则将填充颜色更改为红色。
请问您是否有办法实现这一目标?
答案 0 :(得分:0)
您基本上需要比较当前用于显示数据的表达式。
我假设“问题”部分是详细信息部分(未分组),并且左侧的“实际值”部分已分组,组名称为myRowGroup
。
此答案的下一个假设是,最后一列中的'4'具有一个简单的表达式=Fields!myActualValue.Value
。如果这是总和或其他任何值,则需要相应地更改下面的表达式。
最后,我假设第三列中“ 4”的表达式为=SUM(Fields!myActualValue.Value)
在看不到设计的情况下,很难给出确切的答案,但是表达式应该看起来像。
=IIF(Fields!myActualValue.Value = SUM(Fields!myActualValue.Value, "myRowGroup"), "Tomato", Nothing)
这基本上是说:“检查当前上下文(明细行)中的myActualValue,并将其与当前行组上下文中的myActualValue的总和进行比较。
如果这样做没有帮助,请在报表设计中显示显示的行组和使用的数据集的结果。