SSRS VarP 函数

SSRS VarP 函数是一个聚合函数,用于返回给定表达式中所有非空值的总体方差。本文将通过示例说明如何使用 VarP 函数来计算特定组或完整表中的所有项目的总体方差。

SSRS VarP 函数用于查找默认范围中所有项目的总体方差的语法如下所示。

VarP(Fields!SalesAmount.Value)

要为每个组、表或数据集查找总体方差值,请将名称替换为组、表格或数据集名称。

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

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

Aggregate Source

SSRS VarP 函数示例

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

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

=VarP(Fields!YearlyIncome.Value)
Change the summarized to population Variance

第二种方法是右键单击“Sales”下方的文本框,然后选择“Expression”选项。这将打开以下表达式窗口,用于编写更复杂的 SSRS VarP 函数以及范围。下面的代码返回所有销售项目的总体方差。

=VarP(Fields!Sales.Value)
SSRS VarP Function expression to find the Population Variance of sales

请单击预览选项卡以查看员工年收入和销售额的总体方差。如果您查看报告,它默认显示每个职业组的总体方差,因为这是默认范围。如需更多函数 >> 请点击这里!

SSRS VarP Function to Calculate Population Variance Preview

SSRS VarP 函数范围示例

在“Sales”右侧添加一个新列,并将标题命名为 VarP Sale。接下来,右键单击文本框并选择“Expression”。

下面的表达式返回的结果与“每组总体方差”行显示的结果相同。但是,由于我们手动更改了 VarP 函数的范围,因此您拥有了更多的控制权。

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

SSRS VarP 函数表达式将每个职业组中所有项目的总体方差减去五倍的个人员工销售额。请记住,“Occupation”是组名。接下来,我们使用 0.00;-0.00;’-‘ 格式化了数字。

=VarP(Fields!Sales.Value, "Occupation") - 5 * Fields!Sales.Value
Complex expression for population Variance in a group or scope

从报告预览中,Christy Mehta 的 Var Sale:230.54(文员总体方差)– 5 * 24.99(销售额)= 105.59。

如前所述,要查找表或所有员工的总体方差,您必须将组替换为表名(“Tablix1”)。让我为“Yearly Income”和“Sales”在组外部添加一个额外的行,并将其命名为“Population Variance Per Table”。接下来,为年收入和销售额添加以下两个 VarP 函数表达式。

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

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

SSRS VarP Function to find the Population Variance Report Preview