你可以使用 DVar 和 DVarP 函式,在特定紀錄集合中, (域) 中,估算一組值的變異。 在Visual Basic for Applications中使用 DVar 和 DVarP 函式 (VBA) 模組、巨集、查詢表達式或表單或報告上的計算控制項。
使用 DVarP 函數來評估母體的差異,使用 DVar 函數來評估母體樣本的差異。
例如,您可以使用 DVar 函數來計算一組學生考試成績的差異。
語法
DVar (expr、領域 [, 標準] )
DVarP (expr, domain [, criteria] )
DVar 和 DVarP 函數有以下引數:
| 引數 | 描述 |
|---|---|
| expr | 必要。 運算式,用來識別您要尋找差異的數值欄位。 它可以是用來識別資料表或查詢欄位的字串表達式,也可以是對該欄位資料進行計算的表達式。 在 expr 中,你可以將名稱欄位放在表格中、表單上的控制項、常數或函式。 如果 expr 包含函式,可以是內建或使用者定義的,但不能是其他網域聚合或 SQL 聚合函式。 expr 中包含的欄位必須是數值欄位。 |
| domain | 必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。 |
| criteria | 可省略。 用來限制執行 DVar 或 DVarP 函數的資料範圍的字串運算式。 例如, criteria 通常等同於 SQL 表達式中的 WHERE 子句,但沒有 WHERE 這個詞。 若遺漏 條件 ,則 DVar 與 DVarP 函數會對整個域評估 expr 。 任何包含在 條件 中的欄位也必須是 領域中的欄位;否則 DVar 與 DVarP 函式會回傳 Null。 |
註解
若 領域 指的記錄少於兩筆,或符合 條件的紀錄少於兩筆, DVar 與 DVarP 函式會回傳 Null,表示無法計算變異數。
無論你在巨集、模組、查詢表達式或計算控制中使用 DVar 或 DVarP 函式,都必須謹慎構建 條件 參數參數,以確保其能被正確評估。
您可以使用 DVar 和 DVarP 函數,在選取查詢的 [準則] 列、查詢的導出欄位運算式,或更新查詢的 [更新至] 列中指定準則。
注意
你可以在總數查詢中使用 DVar 和 DVarP 函式,或 Var 和 VarP 函式來計算欄位表達式。 如果您使用 DVar 或 DVarP 函數,值會在資料分組之前進行計算。 如果您使用 Var 或 VarP 函數,資料會在評估欄位運算式中的值之前進行分組。
當你需要指定條件限制函數所涵蓋的資料範圍時,可以在計算控制中使用 DVar 和 DVarP 函數。 例如,若要顯示要出貨至加州之訂單的差異,請將文字輸入框的 ControlSource 屬性設定為下列運算式:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
如果你只是想找出 領域內所有紀錄的標準差,可以使用 Var 或 VarP 函數。
注意
使用這些函式時,未儲存的紀錄 變更不會被 包含在內。 如果想要 DVar 或 DVarP 函數以變更的值為基礎,您必須先儲存變更,方法是按一下 [資料] 索引標籤的 [記錄] 底下的 [儲存記錄],將焦點移到另一筆記錄,或是使用 [更新] 方法。
查詢範例
| 運算式 | 結果 |
|---|---|
| 選擇 DVar (「單價」、「產品銷售」、「單價>140」) AS DVar_Value、DVarP (「單價」、「產品銷售」、「單價<140」) AS DVarP_Value 來自 productSales 群組 依 DVar (「單價」、「產品銷售」、「單價>140」) 、DVarP (「單價」、「產品銷售」、「單價<140」) ; | 計算資料表 "ProductSales" 之 "UnitPrice" 的差異,其中 "unitprice" 大於 140,並在 DVar_Value 顯示結果。 同時計算 "UnitPrice" 的差異 (將給定資料視為整個母體),其中 "unitprice" 小於 140,並在 DVarP_Value 顯示結果。 |
VBA 範例
注意
下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
下列範例會傳回母體差異的估計值,以及出貨至英國之訂單的母體樣本。 範圍是 [訂單] 資料表。 標準論點將所得紀錄限制為 ShipCountryRegion 等於英國的紀錄。
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
下一個範例是透過在條件參數中使用變數 strCountryRegion,回傳估計值。 請注意,單引號 (') 包含在字串表達式中,因此當字串串接時,字串 UK 文字會被單引號包圍。
Dim strCountryRegion As String
Dim dblX As Double
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")