SSRS 最大值函数

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

SSRS Max 函数用于查找默认范围内的最大值的语法如下所示。

Max(Fields!SalesAmount.Value)

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

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

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

Aggregate Source

SSRS Max 函数示例

右键单击详细信息行中的任意字段,选择“插入行”,然后选择“组外 - 下方”选项以添加新行。接下来,合并前三列并将“最大值”添加为文本。为了更好地理解报告,我建议您参考 SSRS 中的“图表”、“”、“分组”和“格式化表”等文章。

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

=Max(Fields!YearlyIncome.Value)
Change the Default Summarized by to Max Function

第二种方法是右键单击绿色背景的空文本框并选择“表达式”选项。

这将打开下面的表达式窗口,我们可以在其中 along with the scope 编写更复杂的 SSRS Max 函数。下面的代码返回最大销售额。

=Max(Fields!Sales.Value)
SSRS Max Function to find the maximum sales

请单击预览选项卡以查看员工的最大年收入和最高销售额。如果您观察报告,默认情况下,它会显示每个职业组中的最大值,因为这是默认范围。有关更多函数,请>> 单击此处

SSRS Max Function Preview

SSRS Max 函数范围演示

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

下面的 Max 函数表达式返回与“最大值”行显示的结果相同:即每个组中的最大值。但是,由于我们手动更改了 Max 函数的范围,因此您拥有更多控制权。

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

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

=Max(Fields!Sales.Value, "Occupation") - Fields!Sales.Value
Expression to find the Maximum Sales Value

如前所述,要查找整个表或所有员工的最大值,您必须将组名(“Occupation”)替换为表名(“Tablix1”)。对于年收入和销售额,我将在组外部添加一个额外的行和下面的两个 SSRS Max 函数表达式。

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

类似地,添加一个新列以从最大表销售值中减去员工销售值。

=Max(Fields!Sales.Value, "Tablix1") - Fields!Sales.Value

下面的报告显示了每个组和整个表的最大值。请将 Tablix1 替换为数据集名称,以获取不考虑应用于报告的筛选器的最大销售额。

如果您查看报告预览,Christy Mehta 的最高销售额是 59.553(文员最高)- 24.99(销售额)= 34.54。空标题列是 4968.559(表格最高)- 24.99(销售额)= 4943.6。

SSRS Max Function to find the Maximum value preview