DStDev 和 DStDevP 函數(shù)用于估算特定記錄集(一個(gè)域)中一組值的標(biāo)準(zhǔn)差。可以在 Visual Basic、宏、查詢表達(dá)式、窗體或報(bào)表上的計(jì)算控件中使用 DStDev 和 DStDevP 函數(shù)。
DStDevP 函數(shù)用于計(jì)算總體,而 DStDev 函數(shù)用于計(jì)算總體抽樣。
例如,可以在模塊中使用 DStDev 函數(shù)來計(jì)算一組學(xué)生考試成績(jī)的標(biāo)準(zhǔn)差。
DStDev(expr, domain, [criteria])
DStDevP(expr, domain, [criteria])
DStDev 和 DStDevP 函數(shù)具有以下參數(shù):
參數(shù) |
說明 |
expr |
表達(dá)式,用于標(biāo)識(shí)要在其中計(jì)算標(biāo)準(zhǔn)差的數(shù)值字段。它可以是用于標(biāo)識(shí)表或查詢中字段的字符串表達(dá)式,也可以是以該字段中的數(shù)據(jù)進(jìn)行計(jì)算的表達(dá)式。在 expr 中可以包括表中字段的名稱、窗體上的控件、常量或函數(shù)。如果 expr 包含函數(shù),那么它可以是內(nèi)置的,也可以是用戶自定義的,但不能是另一個(gè)域聚合函數(shù)或 SQL 聚合函數(shù)。 |
字符串表達(dá)式,代表組成域的記錄集??梢允潜砻Q或不需要參數(shù)的查詢的查詢名稱。 |
|
criteria |
可選的字符串表達(dá)式,用于限制 DStDev 和 DStDevP 函數(shù)執(zhí)行的數(shù)據(jù)范圍。例如,criteria 通常等價(jià)于 SQL 表達(dá)式中的 WHERE 子句,只是不含 WHERE 關(guān)鍵字。如果忽略 criteria,DStDev 和 DStDevP 函數(shù)將在整個(gè)域范圍內(nèi)計(jì)算 expr。任何包含在 criteria 中的字段必須同時(shí)也是 domain 中的字段,否則 DStDev 和 DStDevP 函數(shù)將返回 Null。 |
如果 domain 引用的記錄少于兩條,或滿足 criteria 的記錄少于兩條,DStDev 和 DStDevP 函數(shù)將返回 Null,表示不能計(jì)算標(biāo)準(zhǔn)差。
無論是在宏、模塊、查詢表達(dá)式或者在計(jì)算控件中使用 DStDev 和 DStDevP 函數(shù),都必須謹(jǐn)慎構(gòu)造 criteria 參數(shù)以確保能夠正確地進(jìn)行計(jì)算。
DStDev 和 DStDevP 函數(shù)可用于在選擇查詢的“條件”行中指定條件。例如,可以在“Orders”表和“Products”表上創(chuàng)建一個(gè)查詢來顯示運(yùn)輸成本高于平均值加上標(biāo)準(zhǔn)差的所有產(chǎn)品?!癋reight”字段下的條件行應(yīng)包含以下表達(dá)式:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
在查詢的計(jì)算字段表達(dá)式中,或更新查詢的“更新到”行中都可以使用 DStDev 和 DStDevP 函數(shù)。
注釋 可以在總計(jì)查詢的計(jì)算字段表達(dá)式中使用 DStDev 和 DStDevP 函數(shù)或 StDev 和 StDevP 函數(shù)。如果使用 DStDev 或 DStDevP 函數(shù),將在分組數(shù)據(jù)之前計(jì)算值的標(biāo)準(zhǔn)差。如果使用 StDev 或 StDevP 函數(shù),則將在分組之后計(jì)算字段表達(dá)式中值的標(biāo)準(zhǔn)差。
當(dāng)需要指定條件來限制函數(shù)執(zhí)行的數(shù)據(jù)范圍時(shí),可在計(jì)算控件中使用 DStDev 和 DStDevP 函數(shù)。例如,要顯示運(yùn)到“華北”的訂單的標(biāo)準(zhǔn)差,可將文本框的“控件來源” 屬性設(shè)置為以下表達(dá)式:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
如果只是要查找 domain 中所有記錄的標(biāo)準(zhǔn)差,可使用 StDev 或 StDevP 函數(shù)。
DStDevDStDevPDoubleDStDevDStDevP
注釋 使用這些函數(shù)時(shí),將不包括對(duì) domain 記錄的未保存更改。如果希望 DStDev 或 DStDevP 函數(shù)基于更改后的數(shù)據(jù),必須先保存更改。方法是:?jiǎn)螕?/span>“記錄”菜單上的“保存記錄”、將焦點(diǎn)移動(dòng)到另一條記錄,或者使用 Update 方法。
下面的示例返回運(yùn)往英國的訂單全體或全體抽樣的標(biāo)準(zhǔn)差估計(jì)值。域?yàn)椤癘rders”表。criteria 參數(shù)將生成的記錄集限制為“ShipCountry”值等于 UK 的記錄。
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = 'UK'")
下面的示例通過在 criteria 參數(shù)中使用變量 strCountry 來計(jì)算與上例相同的估計(jì)值。請(qǐng)注意,字符表達(dá)式中包含了單引號(hào) ('),這樣當(dāng)連接字符串時(shí),字面字符串 UK 將包含在單引號(hào)內(nèi)。
Dim strCountry As String
Dim dblX As Double
Dim dblY As Double
strCountry = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountry] = '" & strCountry & "'")