我正在查看我正在处理的SSRS报告的一些奇怪行为。我有一个2 Tablix元素,使用存储过程中的相同数据集填充。我已根据数据集中的活动字段(活动和非活动)在每个Tablix上应用了一个过滤器。数据看起来很好,直到我在最后一个文本框列字段中添加一个表达式来进行简单的计算(见下文)。基于数据表达式的值返回正确,但Tablix现在显示Tablix中一个记录(最后一条记录)的重复行,其中过滤器设置为Active。我不太清楚发生了什么事,因为数据是相同的,因为表达式不存在时没有变化。
=Fields!Avg.Value/Lookup("Low Risk", Fields!RiskGroup.Value, Fields!Avg.Value, "ReportData")
更新
所以我没有解决问题,但有更多的信息。看起来正在发生的事情是由于SQL中返回的记录的顺序以及Tablix如何过滤。 "低风险"查找中使用的记录是分组中的最后一条记录。我之前提到的我的2 tablix与Active字段上的tablix过滤除外。如果低风险是数据集中的最后一条记录,则不存在数据问题。但是,如果低风险不是tablix出错的最后一条记录。无论如何,仍在研究,但任何人都有任何信息,将不胜感激。
更新
仍未找到问题,但找到了解决方法。我已经将查找表达式提取到一个文本框,然后在我的tablix表达式中引用该文本框,似乎就是这样做了......仍然是非常奇怪的行为。我实际上嘲笑了一个更简单的数据集并且没有看到相同的行为,所以必须是由于我的数据集中的某些内容我无法精确定位。