DVar、DVarP 函数

expandtri全部显示

DVarDVarP 函数用于估算特定记录集(一个)中一组值的方差。可以在 Visual Basic、、查询表达式、窗体或报表上的计算控件中使用 DVarDVarP 函数。

DVarP 函数用于计算总体的方差,而 DVar 函数用于计算总体抽样的方差。

例如,可以使用 DVar 函数来计算一组学生考试成绩的方差。

DVar(expr, domain, [criteria])

DVarP(expr, domain, [criteria])

DVarDVarP 函数具有以下参数:

参数

说明

expr

字符串表达式,用于标识要在其中计算方差的数值字段。可以是用于标识表或查询中字段的字符串表达式,也可以是以该字段中的数据进行计算的表达式。在 expr 中可以包括表中字段的名称、窗体上的控件、常量或函数。如果 expr 包含函数,那么它可以是内置的,也可以是用户定义的,但不能是另一个域聚合函数或 SQL 聚合函数。

domain

字符串表达式,代表组成域的记录集。可以是表名称或不需要参数的查询的查询名称。

criteria

可选的字符串表达式,用于限制 DVarDVarP 函数执行的数据范围。例如,criteria 通常等价于 SQL 表达式中的 WHERE 子句,只是不含 WHERE 关键字。如果忽略 criteria,DVarDVarP 函数将在整个域范围内计算 expr。任何包含在 criteria 中的字段必须同时也是 domain 中的字段,否则 DVarDVarP 函数将返回 Null

 

说明

如果 domain 引用的记录少于两条,或者满足 criteria 的记录少于两条,DVarDVarP 函数将返回 Null,表示不能计算方差。

无论是在宏、模块、查询表达式,还是在计算控件中使用 DVarDVarP 函数,都必须谨慎构造 criteria 参数以确保能够正确地进行计算。

在选择查询的“条件”行、查询中的计算字段表达式中,或更新查询的“更新到”行中均可以使用 DVarDVarP 函数指定条件。

注释  可以在总计查询的计算字段表达式中使用 DVarDVarP 函数或 VarVarP 函数。如果使用 DVarDVarP 函数,将在数据分组之前计算方差。如果使用 VarVarP 函数,则在分组之后计算字段表达式中值的方差。

当需要指定 criteria 来限制函数执行的数据范围时,可在计算控件中使用 DVarDVarP 函数。例如,要显示运到 California 的订单的方差,可将文本框的“控件来源”属性设为如下表达式:

=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")

如果只是在 domain 的所有记录中查找标准差,可使用 VarVarP 函数。

注释  在使用该函数时,将不包括对 domain 记录的未保存更改。如果希望 DVarDVarP 函数基于更改后的数据,必须先保存更改。方法是:单击“记录”菜单上的“保存记录”、将焦点移动到另一条记录,或使用 Update 方法。

示例

下面的示例返回运往英国的订单总体和总体抽样的方差估算值。域是“Orders”表。criteria 参数将记录集的结果限制为“ShipCountry”等于 UK 的记录。

Dim dblX As Double

Dim dblY As Double

' Sample estimate.

dblX = DVar("[Freight]", "Orders", "[ShipCountry] = 'UK'")

' Population estimate.

dblY = DVarP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

下一个示例在 criteria 参数中使用一个变量 strCountry 来返回估算值。请注意单引号(')在字符串表达式中使用,使得字符串连接时,将字面字符串“UK”包含在单引号中。

Dim strCountry As String|

Dim dblX As Double

strCountry = "UK"

dblX = DVar("[Freight]", "Orders", "[ShipCountry] = '" _

    & strCountry & "'")