【问题标题】:Sum the value of aggregate function in SSRS report总结 SSRS 报告中聚合函数的值
【发布时间】:2019-02-15 16:09:22
【问题描述】:

我有一列使用以下表达式从佣金 %(百分比基于客户#,因此它可以更改)乘以利润列获取其值:

=Fields!Profit.Value * ReportItems!Commission%.Value

我需要获取佣金总计列的小计。当我尝试合计佣金时,我收到错误:

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

然后我尝试使用 =SUM(ReportItems!Textbox65.Value) 对文本框的值求和,但它只会获取最后一个结果,而不是对所有结果求和。

佣金总计列的小计应为 14.64 而不是 2.13045。我正在尝试总计佣金总计列。

【问题讨论】:

  • 您希望在这里得到什么答案?您提供的细节基本上为零。
  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。
  • 如果没有更好地理解问题,您可能需要对字段求和,而不是文本框本身。
  • 我已尝试清理原帖中的斑点

标签: sql-server reporting-services reportingservices-2005


【解决方案1】:

嗯,问题是像Sum 这样的聚合函数不喜欢在ReportItems 上运行。我认为Commission% 列中的值来自使用Fields 集合的元素(甚至只是一个元素)的表达式,因此在计算总佣金时只需使用相同的表达式,例如

=Sum(Fields!Profit.Value*Fields!Commission%.Value)

【讨论】:

  • 佣金百分比列从此表达式中获取值:=IIF(TRIM(Fields!custno.Value) = "6379" OR TRIM(Fields!custno.Value) = "7725" OR TRIM(Fields!custno.Value) = "320", .035, IIF (TRIM(Fields!custno.Value) = "8433" OR TRIM(Fields!custno.Value) = "5249" OR TRIM(Fields!custno.Value) = "1135" OR TRIM(Fields!custno.Value) = "911" OR TRIM(Fields!custno.Value) = "909" OR TRIM(Fields!custno.Value) = "1821" OR TRIM(Fields!custno.Value) = "33234" OR TRIM(Fields!custno.Value) = "9897" OR TRIM(Fields!custno.Value) = "3834",.0175, .08))
  • 非常好,所以你的总佣金应该这样计算:=Sum(Fields!Profit.Value*IIF(TRIM(Fields!custno.Value) = "6379" OR TRIM(Fields!custno.Value) = "7725" OR TRIM(Fields!custno.Value) = "320", .035, IIF (TRIM(Fields!custno.Value) = "8433" OR TRIM(Fields!custno.Value) = "5249" OR TRIM(Fields!custno.Value) = "1135" OR TRIM(Fields!custno.Value) = "911" OR TRIM(Fields!custno.Value) = "909" OR TRIM(Fields!custno.Value) = "1821" OR TRIM(Fields!custno.Value) = "33234" OR TRIM(Fields!custno.Value) = "9897" OR TRIM(Fields!custno.Value) = "3834",.0175, .08)))
【解决方案2】:

我在visual studio的设计视图中使用了报表向导并导出到报表服务器并运行,见附图,佣金总额在不使用reportitems的情况下正确显示。

【讨论】:

  • 使用以下表达式计算佣金总额: =Fields!Profit.Value * ReportItems!Commission%.Value 当我这样做时 =SUM(Fields!Profit.Value * ReportItems!Commission%.Value) 我得到聚合函数错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多