计算字段的SSRS聚合

时间:2014-05-15 21:21:43

标签: ssrs-2008 aggregate-functions

我正在尝试对SSRS中的计算字段执行聚合,并收到以下错误:

  

[rsAggregateReportItemInBody] textrun的值表达式' Textbox43.Paragraphs [0] .TextRuns [0]'在报表项上使用聚合函数。聚合函数只能用于页眉和页脚中包含的报表项

这是我尝试使用的公式:

=Sum(ReportItems!PlanPurchPrice.Value, "Select_UCPUtilization")

在本案例中,PlanPurcPrice也是一个表达式:

=First(Fields!PawPlanPurchPrice.Value, "Select_UCPUtilization")

对此有任何建议将不胜感激。

1 个答案:

答案 0 :(得分:6)

SSRS 2008不支持您要查找的功能,除非报表项位于页眉或页脚中(如错误消息中所述)。相反,我会提出两种替代解决方案:

第一个选项

将计算放在您的查询中(如果可能),然后您可以引用该字段,聚合将按预期工作。

第二个选项

您基本上希望创建您希望在报表中的其他位置返回的聚合,它直接连接到Select_UCPUtilization范围,然后在其他位置引用聚合值。请按照以下步骤操作:

  1. 在与报表项PlanPurchPrice相同的范围内,计算PlanPurchPrice的总和。命名包含有意义的聚合的文本框(例如,Sum_PlanPurchPrice)。
  2. 直接在您尝试使用ReportItems总和的任何地方引用该文本框(即 =ReportItems!Sum_PlanPurchPrice.Value

  3. 隐藏变通方法。将您创建的聚合放在附加到Select_UCPUtilization范围的其他列或行中。将文本变为白色,关闭生长和收缩,并使行非常小(一个像素或两个像素高)。

  4. 使用第二个选项,报告项目确实存在(并且可见,这很重要),并且包含您希望返回其他位置的总和。

    希望这会有所帮助。如果这没有意义,请通过评论回复,我会尽我所能帮助你。