reporting-services - SSRS - 总和最后 12 项
问题描述
我有一个 Total 列,并将该行中的所有值相加:
=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
是的,此值将在您的数据集中重复,但是如果您将其正确放置在表中,您应该没问题,只是不要在详细信息部分显示该值。这不会添加额外的行。另一种解决方案是使用子报表,但是这在渲染时间上要快得多。