SSRS在计算字段上的聚合

SAS*_*SMC 2 aggregate-functions ssrs-2008

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

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

这是我试图使用的公式:

=Sum(ReportItems!PlanPurchPrice.Value, "Select_UCPUtilization")
Run Code Online (Sandbox Code Playgroud)

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

=First(Fields!PawPlanPurchPrice.Value, "Select_UCPUtilization")
Run Code Online (Sandbox Code Playgroud)

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

Chr*_*own 6

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

第一选择

将计算放在您的查询中(如果可能),此时您可以引用该字段,聚合将按需运行.

第二选择

您基本上希望创建您希望在报表中的其他位置返回的聚合,它直接连接到Select_UCPUtilization范围,然后在其他位置引用聚合值.跟着这些步骤:

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

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

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

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