Applies ToMicrosoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

您可以使用 DStDevDStDevP 函數來估計指定記錄集中一組值的標準偏差, ( 範圍) 。 在 Visual Basic for Applications (VBA) 模組、 巨集、查詢表達式或窗體或報表上的 計算控制項 中使用 DStDevDStDevP 函數。

使用 DStDevP 函數來評估母體和 DStDev 函數,以評估母體樣本。

例如,您可以在模組中使用 DStDev 函數來計算一組學生考試成績的標準偏差。

語法

DStDev ( expr , domain [, criteria] )

DStDevP ( expr , domain [, criteria] )

DStDevDStDevP 函數具有下列自變數:

引數

描述

expr

必要。 用來識別要尋找標準偏差之數值欄位的表達式。 它可以是從數據表或查詢識別欄位的 字串運算式 ,也可以是對該欄位中的數據執行計算的運算式。 在 expr 中,您可以加入資料表中的欄位名稱、表單上的控制項、常數或函數。 expr 可包含內建或使用者定義的函數,但不得是另一個網域彙總或 SQL 彙總函數。

domain

必要。 識別構成範圍之記錄集的字串運算式。 它可以是資料表名稱,或不需要參數之查詢的查詢名稱。

criteria

可省略。 用來限制 執行 DStDevDStDevP 函數之數據範圍的字串表達式。 例如, criteria 通常等同於 SQL 運算式中的 WHERE 子句,而沒有 WHERE 一詞。 如果省略 criteria,DStDevDStDevP 函數會針對整個網域評估 expr 準則 中包含 的任何欄位也必須是網 中的欄位;否則, DStDevDStDevP 函數會傳回 Null。

註解

如果 網域 參照少於兩筆記錄,或少於兩筆記錄符合 準則則 DStDevDStDevP 函數會傳回 Null,表示無法計算標準偏差。

無論您是在宏、模組、查詢表達式或計算控件中使用 DStDev 或 DStDevP 函數,您都必須仔細建構 criteria 自變數,以確保能正確評估。

您可以使用 DStDevDStDevP 函數,在選取查詢的 [準則] 列中指定準則。 例如,您可以在 [訂單] 數據表和 [產品] 數據表上建立查詢,以顯示運費超出平均值的所有產品,再加上運費的標準偏差。 [Freight] 字段底下的 [準則] 列會包含下列運算式:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

您可以在查詢的匯出欄位表示式或 更新查詢的 [更新至] 列中使用 DStDevDStDevP 函數。

附註: 您可以在 合計查詢的導出字段表示式中使用 DStDevDStDevP 函數,或 StDevStDevP 函數。 如果您使用 DStDevDStDevP 函數,值會在資料分組之前進行計算。 如果您使用 StDevStDevP 函數,數據會先分組,然後再評估欄位運算式中的值。

當您需要指定準則來限制執行函數的數據範圍時,請在計算控件中使用 DStDevDStDevP 函數。 例如,若要顯示要運送至加州訂單的標準偏差,請將文本框的 ControlSource 屬性設為下列表達式:

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

如果您只想找出 網域中所有記錄的標準偏差,請使用 StDevStDevP 函數。

祕訣    如果衍生 expr 之字段的數據類型是數位,則 DStDev 和 DStDevP 函數會傳回 Double 資料類型。 如果您在計算控件中使用 DStDev 或 DStDevP 函數,請在運算式中包含資料類型轉換函數以改善效能。

附註: 當您使用這些函數時,不會包含 網域 中未儲存的記錄變更。 如果您希望 DStDevDStDevP 函數是以變更的值為基礎,您必須先在 [資料] 索引標籤的 [記錄] 底下按兩下 [儲存記錄],將焦點移至另一筆記錄,或使用更新方法來儲存變更

查詢範例

Expression

結果​​

SELECT DStDev (“unitprice”,“productSales”,“unitprice>140”) AS 表達式1, DStDevP (“unitprice”,“productSales”,“unitprice<140”) AS Expr2 FROM productSales GROUP BY DStDev (“unitprice”,“productSales”,“unitprice>140”) , DStDevP (“unitprice”,“productSales”,“unitprice<140”) ;

計算 「UnitPrice」 的標準偏差 (將 te 指定的數據視為 「ProductSales」數據表的樣本) ,其中 “unitprice” 大於 140,並在表達式1 中顯示結果。 此外,也會將指定的數據視為整個母體) “unitprice” 小於 140,並以表達式2 顯示結果,來計算 “UnitPrice” 的標準偏差 (。

SELECT DStDev (“unitprice”,“productSales”,“unitprice>140”) AS DstDev, DStDevP (“unitprice”,“productSales”,“unitprice<140”) AS DstDevP FROM productSales GROUP BY DStDev (“unitprice”,“productSales”,“unitprice>140”) , DStDevP (“unitprice”,“productSales”,“unitprice<140”) ;

計算「單價」 (將 te 指定數據視為「ProductSales」數據表中“unitprice” 大於 140 的樣本) ,並將結果顯示為 DstDev。 同時也會計算 「UnitPrice」 (將指定數據視為整個母體) 其中 「unitprice」 小於 140 且會在 DstDevP 中顯示結果的標準偏差。

VBA 範例

附註: 下列範例示範如何在 Visual Basic for Applications (VBA) 模組中使用此函數。 如需使用 VBA 的詳細資訊,請在 [搜尋] 旁的下拉式清單中選取 [開發人員參考],並在 [搜尋] 方塊中輸入一個或多個字詞。

下列範例會傳回母體的標準偏差估計值,以及出貨至英國之訂單的母體樣本。 網域是 [訂單] 數據表。 criteria 自變數會將產生的記錄集限制為 ShipCountryRegion 值為英國的數據集。

Dim dblX As DoubleDim dblY As Double' Sample estimate.dblX = DStDev("[Freight]", "Orders", _    "[ShipCountryRegion] = 'UK'")' Population estimate.dblY = DStDevP("[Freight]", "Orders", _    "[ShipCountryRegion] = 'UK'")

下一個範例會使用 criteria 自變數中的變數 strCountryRegion來計算相同的估計值。 請注意,字串表達式中會包含單引號 ( ) ,因此當字串串連時,字串常值 UK 會以單引號括住。

Dim strCountryRegion As StringDim dblX As DoubleDim dblY As DoublestrCountryRegion = "UK"dblX = DStDev("[Freight]", "Orders", _    "[ShipCountryRegion] = '" & strCountryRegion & "'")dblY = DStDevP("[Freight]", "Orders", _    "[ShipCountryRegion] = '" & strCountryRegion & "'")

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。