SSRS Var 函数是一个聚合函数,它返回给定字段中所有非空值的方差。本文将通过一个示例解释如何使用 Var 函数来计算特定组或整个表中的所有项目的方差。
SSRS Var 函数用于计算默认范围内所有项目的方差的语法如下。
Var(Fields!SalesAmount.Value)
要为每个组、表或数据集查找方差值,请将名称替换为组、Tablix 或数据集的名称。
Var(Fields!SalesAmount.Value, "Name")
Var(Fields!SalesAmount.Value, "Name", Recursive)
为了演示 SSRS Var 函数,我们使用下面的 Employee 表,该表有 15 条按职业分组的记录。下图显示了表格报告中的记录。

SSRS Var 函数示例
右键单击详细信息行中的任何字段,选择“插入行”,然后选择“组外 - 下方”选项以添加新行。接下来,合并前三列并将“方差值”作为文本添加。为了理解报告,我建议您参考 SSRS 中的“图表”、“表格”、“分组”和“格式化表格”文章。
有多种方法可以编写 SSRS Var 函数。第一种方法是单击单元格并选择 YearlyIncome 字段。由于它是默认的聚合函数,它将 Sum 函数赋给它。因此,选择文本 (Sum(YearlyIncome)),选择“汇总方式”,然后单击 Var 函数。它会在内部写入以下表达式
=Var(Fields!YearlyIncome.Value)

第二种方法是右键单击 Sales 下方的文本框并选择“表达式”选项。这将打开以下表达式窗口,允许您编写更复杂的 SSRS Var 函数以及范围。下面的代码返回总销售项目方差。
=Var(Fields!Sales.Value)

请点击预览选项卡查看员工的年收入和销售方差。如果您观察报告,默认情况下,它会显示每个职业组的方差,因为这是默认范围。有关更多函数,请访问:单击此处!

SSRS Var 函数范围示例
请在 Sales 的右侧添加一个新列,并将标题命名为 Var Sale。接下来,右键单击文本框并选择“表达式”。
下面的表达式返回的结果与“每组方差值”行所示的结果相同。但是,由于我们手动更改了 Var 函数的范围,因此您拥有更多的控制权。
= Var(Fields!Sales.Value, "Occupation")
SSRS Var 函数表达式将每个组中单个销售额的四倍从总项目方差中减去。请记住,“Occupation”是组名。接下来,我们使用 0.00;-0.00;'-' 格式化数字。
=Var(Fields!Sales.Value, "Occupation") - 4 * Fields!Sales.Value

如果您检查报告预览,Christy Mehta 的 Var Sale:307.39(文员方差) – 4 * 24.99(销售额)= 207.43。
如前所述,要找到整个表或所有员工的方差,您必须将组名替换为表(“Tablix1”)。我现在在组外部添加一个额外的行,并将其命名为“每表方差值”。接下来,为年收入和销售额添加以下两个 Var 函数表达式。
=Var(Fields!YearlyIncome.Value, "Tablix1")
=Var(Fields!Sales.Value, "Tablix1")
下方的报告显示了每个组和整个表的总项目或记录的方差。请将 Tablix1 替换为数据集名称,以获取与报告筛选器无关的销售方差。
