SSRS Sum 函数

SSRS Sum 函数是一个聚合函数,它返回给定字段中所有数值的总和或总数。本文将通过一个示例解释如何使用 Sum 函数查找某个组或整个表的总数。Sum 函数的语法如下所示。

Sum(Fields!SalesAmount.Value) - Default scope
Sum(Fields!SalesAmount.Value, "Group Name") - Find the Sum for each Group.
Sum(Fields!SalesAmount.Value, "Group Name", Recursive)

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

Aggregate Source

SSRS Sum 函数示例

右键单击“年收入”或“销售额”字段,选择“插入行”选项,然后选择“组外 - 下方”选项以添加新行。接下来,合并前三列并将“总计”作为文本添加。我建议您参考 SSRS 中的 表格分组格式化表格 文章,以了解报表。

编写 SSRS Sum 函数有多种方法。第一种方法是简单地选择数字字段。例如,单击“年收入”。由于 Sum 是默认的聚合函数,因此报表服务将选择它。

Choosing the Numerical Field

同样,也请选择“销售额”字段。请单击预览选项卡以查看员工的总年收入及其总销售额。如果观察报表,默认情况下,它会计算每个职业的总和,因为这是默认范围。

SSRS Sum Function Preview

SSRS Sum 函数范围演示

虽然有很多方法可以演示 Sum 函数的范围,但我选择了简单的方法。让我添加一个新列到“销售额”的右侧。接下来,右键单击文本框并选择“表达式”。

Choose Expression option to write the SSRS Sum Function with scope

这将打开如下所示的 SSRS 表达式窗口,我们在这里编写更复杂的 Sum 函数。

例如,下面的表达式返回与“总计”行所示相同的结果:133.01、12924.06 等。但是,由于我们手动更改了 Sum 函数的范围,因此您可以更精确地控制计算。有关更多函数,请 >> 单击此处!

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

下面的表达式从每个职业组的总销售额中减去个人员工的销售额。请记住,“职业”是组名。

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

如果您查看报表,Christy Mehta—133.01(文员职业的销售额总和)—24.99(Christy Mehta)= 108.02。

SSRS Sum Function scope preview

要查找整个表或所有员工的总和,您必须将 SSRS Sum 函数中的组名替换为表名。让我添加一个位于组外部的额外行,并为年收入和销售额添加以下两个表达式。

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

下面的报表显示了所有组的总计。请将 Tablix1 替换为数据集名称,以获取忽略报表中应用的任何筛选器的销售额总和。

SSRS Sum Function with GroupLevel ad Table level scope