SSRS Var 函数

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 条按职业分组的记录。下图显示了表格报告中的记录。

Aggregate Source

SSRS Var 函数示例

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

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

=Var(Fields!YearlyIncome.Value)
Change the Summarized by to Variance

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

=Var(Fields!Sales.Value)
SSRS Var Function expression to find the sales variance

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

SSRS Var Function preview for income and sales variance

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
Complex variance expression with group and scope

如果您检查报告预览,Christy Mehta 的 Var Sale:307.39(文员方差) – 4 * 24.99(销售额)= 207.43。

如前所述,要找到整个表或所有员工的方差,您必须将组名替换为表(“Tablix1”)。我现在在组外部添加一个额外的行,并将其命名为“每表方差值”。接下来,为年收入和销售额添加以下两个 Var 函数表达式。

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

下方的报告显示了每个组和整个表的总项目或记录的方差。请将 Tablix1 替换为数据集名称,以获取与报告筛选器无关的销售方差。

SSRS Var Function to calculate the variance preview