SSRS Count 函数

SSRS Count 函数是一个聚合函数,它计算给定字段中的所有项目(记录)并返回数量。本文将通过一个示例,解释如何使用 Count 函数查找特定组或整个表中的项目总数。

SSRS Count 函数在默认范围内查找项目总数计数的语法如下所示。

Count(Fields!SalesAmount.Value)
Count(Fields!EmployeeName.Value)

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

Count(Fields!EmployeeName.Value, "Name")
Count(Fields!EmployeeName.Value, "Name", Recursive)

为了演示 SSRS Count 函数,我们使用了下面这个有 15 条记录、按职业分组的 Employee 表。图片显示了表格报表中的记录。

Aggregate Source

SSRS Count 函数示例

右键单击详细信息行中的任何字段,选择“插入行”,然后选择“组外部—下方”选项添加新行。接下来,合并前两列并将“Count Total Items Per Group”作为文本添加。为了理解报表,我建议您参考 SSRS 中的 图表表格分组格式化表格 文章。

编写 SSRS Count 函数有多种方法。第一种方法是单击单元格并选择 YearlyIncome 字段。由于它是默认的聚合函数,因此它会为其分配 Sum 函数。因此,选择文本(Sum(YearlyIncome)),选择“汇总方式”,然后单击 Count 函数。它会在内部编写以下表达式

=Count(Fields!YearlyIncome.Value)
Change the summarized by option of the aggregate

第二种方法是右键单击文本框并选择“表达式”选项。这将打开下面的表达式窗口,用于编写更复杂的 SSRS Count 函数以及范围。下面的代码将返回总销售项目(行)的计数。

=Count(Fields!Sales.Value)
SSRS Count Function too find the total sales records

同样,让我添加以下表达式来计算字符串列。有关更多函数,请 >> 单击此处

=Count(Fields!Education.Value)

请单击预览选项卡查看员工教育、年收入和销售额的计数。如果您观察报表,默认情况下,它会在每个职业组中显示计数,因为它是默认范围。

SSRS Count Function Preview

SSRS Count 函数范围演示

为此,我将向“Sales”右侧添加一个新列,并将标题命名为“CNT Sale”。接下来,右键单击文本框并选择“表达式”。

下面的 Count 函数表达式返回的结果与“Count Total Items Per Group”行所示的结果相同。但是,由于我们手动更改了 Count 函数的范围,因此您拥有了更多的控制权。

=Count(Fields!Education.Value, "Occupation")

下面的表达式将每个职业组中的单个员工销售额乘以销售记录数。请记住,“Occupation”是组名。

=Count(Fields!Education.Value, "Occupation") * Fields!Sales.Value
Arithmetic count operations on columns

如果查看报表预览,Christy Mehta 的 CNT Sale:4(文职计数)* 24.99(销售额)= 99.96。

如前所述,要查找整个表或所有员工的计数,您必须将组名(“Occupation”)替换为表名(“Tablix1”)。我将在组外添加一个额外的行,并将其命名为“Count Total Items Per Table”。接下来,在下面添加教育、年收入和销售额的两个 SSRS Count 函数表达式。

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

下面的报表显示了每个组和表中的项目或记录总数。请将 Tablix1 替换为 Dataset 名称,以获取不考虑应用于报表的筛选器的销售额计数。

SSRS Count Function Report Preview