>我有一个总计列,并且正在用以下方法对行中的所有值求和:
=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
是的,此值将在数据集中重复,但是,如果将其正确放置在表中,则应该没问题,只是不要在详细信息部分中显示该值。这不会添加额外的行。另一种解决方案是使用子报表,但这在呈现时间上要快得多。