SQL报表生成器:在ReportItem上使用聚合函数

问题描述 投票:0回答:1

我已经为给定的单元格输入了以下表达式,该表达式本质上是美元值除以每加仑值可获得美分的数量,标记为Textbox41:

=ReportItems!Total_Gross_Profit2.Value / ReportItems!Gallon_Qty3.Value

我试图做的是将此表达式用于另一个单元格=avg(ReportItems!Textbox41.Value)中的AVG聚合,但出现错误:

textrun的值表达式'Textbox79.Paragraphs [0] .TextRuns [0]'在报告项目。汇总功能只能在报表项目上使用包含在页面页眉和页脚中。

是否存在某些限制,不允许在ReportItems上进行汇总?我也尝试了以下方法,但也没有用:

=AVG(ReportItems!Total_Gross_Profit2.Value / ReportItems!Gallon_Qty3.Value)

我在哪里错了?

sql-server reporting-services reportbuilder3.0
1个回答
0
投票

关于您的问题:

是否存在某些限制,不允许对ReportItems进行汇总?

您在提供的错误消息中有答案。

关于分辨率,很难用您提供的信息给出精确的指导,但是通常,从数据集字段而不是报表对象开始思考。如果您是从矩阵或表内部进行操作,并且'Total_Gross_Profit'和'Gallon_Qty_3'的值类似于以下内容:

= ReportItems!ProfitsFromX.Value + ReportItems!ProfitsFromY.Value
= ReportItems!GallonQtyA.Value + ReportItems!GallonQtyB.Value

直接指向字段:

= Fields!ProfitsFromX.Value + Fields!ProfitsFromY.Value
= Fields!GallonQtyA.Value + Fields!GallonQtyB.Value

这样,在进行聚合时,更清楚该怎么做:

= avg(
      (Fields!ProfitsFromX.Value + Fields!ProfitsFromY.Value)
    / (Fields!GallonQtyA.Value + Fields!GallonQtyB.Value)
)

如果发现麻烦,则可以在数据集对象上创建计算字段,并在适当的地方引用这些字段。

© www.soinside.com 2019 - 2024. All rights reserved.