SSRS Avg 函数

SSRS Avg 函数是一个聚合函数,它返回给定字段中所有非空数值的平均值。本文将通过示例介绍如何使用 Avg 函数来查找特定组或整个表的平均值。

SSRS Avg 函数的语法如下所示。要查找具有默认范围的平均值

Avg(Fields!SalesAmount.Value)

要查找每个组、表或数据集的平均值,请将名称替换为组、Tablix 或数据集名称。

Avg(Fields!SalesAmount.Value, "Name")
Avg(Fields!SalesAmount.Value, "Name", Recursive)

我们将使用下面的员工表来演示 SSRS Avg 函数。该表有 15 条记录,按职业分组。下图显示了表中报告的记录。

Aggregate Source

SSRS Avg 函数示例

右键单击“年收入”或“销售额”字段,选择“插入行”选项,然后选择“组外部—下方”选项以添加新行。接下来,合并前三列并将“平均值”作为文本添加。为了更好地理解报告,建议您参考 SSRS 中的“图表”、“”、“分组”和“格式化表”文章。

编写 SSRS Avg 函数有多种方法。第一种方法是单击单元格并选择“年收入”,它将为该单元格添加 Sum 函数,因为它是默认的聚合函数。然后,选择文本(Sum(YearlyIncome)),选择“按汇总”,然后单击 Avg 函数。它会在内部写入以下表达式

=Avg(Fields!YearlyIncome.Value)
Change the Summarized by option to SSRS Avg Function

第二种方法是右键单击文本框并选择“表达式”选项。例如,右键单击 Sum(Sales) 并选择“表达式”。

这将打开以下表达式窗口,我们可以在其中编写更复杂的 SSRS Avg 函数以及范围。以下代码将返回销售额的平均值。

=Avg(Fields!Sales.Value)
SSRS Avg Function to find the sales average

请点击预览选项卡查看员工的平均年收入和平均销售额。如果您观察报告,默认情况下,它会计算每个职业的平均值,因为这是默认范围。有关更多函数,请单击此处

SSRS Avg Function Average Preview

SSRS Avg 函数范围演示

为此,我将在“销售额”的右侧添加一个新列,并将标题命名为“平均销售额”。接下来,右键单击文本框并选择“表达式”。

下面的表达式返回的结果与“平均值”行所示的结果相同,即每个组的平均值。但是,由于我们手动更改了 Avg 函数的范围,因此您可以更精确地控制平均值计算。

=Avg(Fields!Sales.Value, "Occupation")

下面的 SSRS Avg 函数将每个职业组的平均销售额从单个员工的销售额中减去。请记住,“职业”是组名。

=Fields!Sales.Value - Avg(Fields!Sales.Value, "Occupation")
Sales Expression

如前所述,要查找整个表或所有员工的平均值,您必须将组名(“职业”)替换为表名(“Tablix1”)。我将添加一个位于组外部的额外行,以便为年收入和销售额添加以下两个 Avg 函数表达式。

=Avg(Fields!YearlyIncome.Value, "Tablix1")
=Avg(Fields!Sales.Value,"Tablix1")

下面的报告显示了所有组的平均值。请将 Tablix1 替换为数据集名称,以获取销售额的平均值,而忽略应用于报告的任何过滤器。如果您查看报告预览,Christy Mehta 的平均销售额为 24.99(销售额)- 33.2525(文员平均值)= -8.26。

SSRS Avg or average Function Preview