如何在 MS reportviewer/rdlc 中计算计算平均值的平均值?

Posted

技术标签:

【中文标题】如何在 MS reportviewer/rdlc 中计算计算平均值的平均值?【英文标题】:How do I compute an average of calculated averages in MS reportviewer/rdlc? 【发布时间】:2012-12-27 02:51:42 【问题描述】:

我在这里和网络上的其他地方进行了搜索,但没有找到确切的问题/解决方案。

我正在使用 MS reportViewer 构建 rdlc 报告 - 我正在创建的报告基于现有电子表格,其中每个月单独计算 6 个月的平均价格,然后这些价格的平均值计算为6 个月期间的平均价格。我是否同意该方法或它是否正确无关紧要,我只需要知道如何让 rdlc 执行此操作。

例如:

月价格 1 价格 2 增量

5 月 12 日 $31.54 $30.03 $1.51

12 年 6 月 36.27 美元 34.60 美元 1.67 美元

7 月 12 日 $44.19 $42.00 $2.19

8 月 12 日 $38.96 $37.06 $1.90

9 月 12 日 $36.89 $35.08 $1.81

10 月 12 日 $35.57 $33.97 $1.60

平均 $37.24 $35.46 $1.78

(抱歉缺少屏幕截图,我是新手,系统不允许我发布图片...)

我创建了一个用于计算每月平均值的 tablix - 我使用表中的一个组来按月对 6 个月的数据进行分组(然后隐藏每小时价格数据,以便您只看到月份总行)但是我被困在如何计算表格的底行,这是每列的平均值。 (平均值的平均值与基础数据中所有 6 个月价格的平均值不同——这就是我在这个过程中学到的... IOW,这是我的第一个解决方案 :-))

我试图获取平均值的方法是为月份总单元格命名,MonthlyAvgPrice1,然后在底行使用以下表达式:

Avg(reportitems!MonthlyAvgPrice1.Value)

正如我所预料的那样,这不起作用,当我尝试运行报告时,它得到一个构建错误,说“textrun 'Price1PeriodAvg.Paragraphs[0].TextRuns[0]' 的值表达式使用报表项上的聚合函数。聚合函数只能用于页眉和页脚中包含的报表项。"

希望我已经很好地解释了这一点,有人知道该怎么做吗?

谢谢! -JayG

【问题讨论】:

我从不使用 AVG 函数,但是对于我在msdn library 中看到的内容,您可以指定函数的范围。范围is explained here 从您所显示的数据来看,您需要最后一行中每一列的平均值..这是您的意思吗? 【参考方案1】:

实际上,从问题中并不清楚您如何将数据特别绑定到报告项,但是根据给定的信息,我理解的是,您可以 试试这样:

右键单击 tablix 行并在下面插入一行

在您希望获得此平均值的单元格中,插入以下表达式

=Sum(Fields!Price1.Value)/6 并类似地在要显示平均值的其他单元格中插入表达式 =Sum(Fields!Price2.Value)/6=Sum(Fields!Delta.Value)/6

当然,您将字段名称 Price1、Price2 等更改为您从中获取值的字段。

HTH

【讨论】:

感谢您的回复密码,这并不能完全解决问题,因为实际上有数千个价格值按月分组和平均。表格的这些行被隐藏了,因为我只需要报告中的最终月平均值。因此,有一个父组按月分组,然后是每小时详细信息行(隐藏)和计算每月平均值的总计行(可见),然后是我试图计算的父组之外的总计行月平均值的平均值。 我这个答案的意思是你可以使用相同的表达式来获取平均值,然后像上面=sum(urexpresssion)/6 那样做,把它放在单元格中,你应该得到结果。 .....如果不清楚,那么您只需右键单击有每月平均值的单元格并检查表达式,然后使用与上述相同的方法..您先尝试,它应该可以工作! 感谢Ciphers的建议,原来正确的计算是整体平均值,所以我不需要弄清楚如何做平均值。非常感谢您抽出宝贵时间回复!

以上是关于如何在 MS reportviewer/rdlc 中计算计算平均值的平均值?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 ms-access 以其他用户身份连接到 ms-sql?

如何在Linux上安装和使用MS SQL Server

如何在 .NET 或 JavaScript 中使用 MS-XCEP 和 MS-WSTEP 从 AD CS 获取证书?

如何在 iOS 中从 ms-word 或 ms-excel 打开 excel、doc

如何在 MS Access 2007 或 MS SQL Server 2005 中通过 SQL 将字段转换为行

如何在查询中加入 MS-SQL 和 MySQL 表?