SSRS - 最后 12 项的总和



>我有一个总计列,并且正在用以下方法对行中的所有值求和:

=Sum(Fields!MyField.Value)

如何仅对最后 12 个项目求和?

这是有效的:

=Last(Fields!MyField.Value)

我需要下面这样的东西...

=Sum( LastX(Fields!MyField.Value, 12) )

可以通过在主数据集查询中创建子查询来实现此结果。您只需要有一个要按降序排序的值。

假设您有一个按 ASC 顺序按价格排序的表。您想对最后 12 个求和。您只需要翻转子查询中的排序并对前 12 名求和即可。

SELECT OtherFields, (SELECT TOP 12 Sum(S1.MyField) FROM MyTable S1 ORDER BY S1.MyField DESC) AS BottomTwelveSum
FROM MyMainQueryTable

是的,此值将在数据集中重复,但是,如果将其正确放置在表中,则应该没问题,只是不要在详细信息部分中显示该值。这不会添加额外的行。另一种解决方案是使用子报表,但这在呈现时间上要快得多。

最新更新