您可以使用 DVar 和 DVarP 函數來估算指定記錄集中數值的變異數, ( 範圍) 。 在 Visual Basic for Applications (VBA) 模組、 巨集、查詢表達式或窗體或報表上的 計算控制項 中使用 DVar 和 DVarP 函數。
使用 DVarP 函數來評估母體和 DVar 函數的變異數,以評估母體樣本的變數。
例如,您可以使用 DVar 函數來計算一組學生考試成績的變數。
語法
DVar ( expr , domain [, criteria] )
DVarP ( expr , domain [, criteria] )
DVar 和 DVarP 函數具有下列自變數:
引數 |
描述 |
expr |
必要。 用來識別要尋找變異數之數值字段的表達式。 它可以是從數據表或查詢識別欄位的 字串運算式 ,也可以是對該欄位中的數據執行計算的運算式。 在 expr 中,您可以在資料表中包含名稱欄位、表單上的控制件、常數或函數。 expr 可包含內建或使用者定義的函數,但不得是另一個網域彙總或 SQL 彙總函數。 expr 中包含的任何欄位都必須是數值欄位。 |
domain |
必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。 |
criteria |
可省略。 用來限制 執行 DVar 或 DVarP 函數之數據範圍的字串表示式。 例如, criteria 通常等同於 SQL 運算式中的 WHERE 子句,而沒有 WHERE 一詞。 如果省略 criteria,DVar 和 DVarP 函數會根據整個網域評估 expr。 準則 中包含 的任何欄位也必須是網 域中的欄位;否則 DVar 和 DVarP 函數會傳 回 Null。 |
註解
如果 網域 參照少於兩筆記錄,或少於兩筆記錄符合 criteria, 則 DVar 和 DVarP 函數會傳回 Null,表示無法計算變數。
無論您是在宏、模組、查詢表達式或計算控件中使用 DVar 或 DVarP 函數,您都必須仔細建構 criteria 自變數以確保正確評估。
您可以使用 DVar 和 DVarP 函數,在選取查詢的 [ 準則 ] 列、查詢中的匯出字段表示式或更新查詢的 [ 更新至 ] 資料列中指定準則。
附註: 您可以在 合計查詢的匯出字段表示式中使用 DVar 和 DVarP 函數,或 Var 和 VarP 函數。 如果您使用 DVar 或 DVarP 函數,值會在資料分組之前進行計算。 如果您使用 Var 或 VarP 函數,數據會先分組,然後再評估欄位表示式中的值。
當您需要指定準則來限制執行函數的數據範圍時,請在計算控件中使用 DVar 和 DVarP 函數。 例如,若要顯示要運送至加州訂單的變異數,請將文本框的 ControlSource 屬性設為下列表達式:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
如果您只想找出 網域中所有記錄的標準偏差,請使用 Var 或 VarP 函數。
附註: 當您使用這些函數時,不會包含 網域 中未儲存的記錄變更。 如果您希望 DVar 或 DVarP 函數是以變更的值為基礎,您必須先在 [資料] 索引標籤的 [記錄] 底下按兩下 [儲存記錄],將焦點移至另一筆記錄,或使用更新方法來儲存變更。
查詢範例
Expression |
結果 |
SELECT DVar (“unitprice”,“productSales”,“unitprice>140”) AS DVar_Value, DVarP (“unitprice”,“productSales”,“unitprice<140”) AS DVarP_Value FROM productSales GROUP BY DVar (“unitprice”,“productSales”,“unitprice>140”) , DVarP (“unitprice”,“productSales”,“unitprice<140”) ; |
從 「ProductSales」 資料表中計算 「UnitPrice」 的變異數,其中 「unitprice」 大於 140,並在 DVar_Value 中顯示結果。 同時也會計算 「UnitPrice」 (的變數,將指定的數據視為整個母體) 其中 “unitprice” 小於 140,並在 DVarP_Value 中顯示結果。 |
VBA 範例
附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。
下列範例會傳回母體變異數的估計值,以及出貨至英國之訂單的母體樣本。 網域是 [訂單] 數據表。 criteria 自變數會將結果記錄集限制為 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'")
下一個範例會在 criteria 自變數中使用變數 strCountryRegion傳回估計值。 請注意,字串表達式中會包含單引號 ( ) ,因此當字串串連時,字串常值 UK 會以單引號括住。
Dim strCountryRegion As String
Dim dblX As Double strCountryRegion = "UK" dblX = DVar("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & "'")