Funkce DStDev a DStDevP

Platí pro
Access pro Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkce DStDev a DStDevP můžete použít k odhadu směrodatné odchylky pro sadu hodnot v zadané sadě záznamů (doméně). Funkce DStDev a DStDevP můžete použít v modulu jazyka VBA (jazyk Visual Basic for Application), v makrech, výrazu dotazu nebo počítaném ovládacím prvku ve formuláři nebo sestavě.

Použijte funkci DStDevP k vyhodnocení základního souboru a funkci DStDev k vyhodnocení výběru základního souboru.

Funkci DStDev můžete například použít v modulu k výpočtu směrodatné odchylky pro sadu výsledků testů studentů.

Syntaxe

DStDev(výraz, doména [, kritéria] )

DStDevP(výraz, doména [, kritéria] )

Funkce DStDev a DStDevP mají tyto argumenty:

Argument Popis
výraz Povinný argument. Výraz, který identifikuje číselné pole, ve kterém chcete zjistit směrodatnou odchylku. Může to být řetězcový výraz identifikující pole z tabulky nebo dotazu nebo výraz, který provádí výpočet dat v daném poli. V výrazu můžete zahrnout název pole v tabulce, ovládací prvek ve formuláři, konstantu nebo funkci. Pokud výraz obsahuje funkci, může být buď integrovaná, nebo uživatelem definovaná, ale ne jiná doménová agregace nebo agregační funkce SQL.
doména Povinný argument. Řetězcový výraz identifikuje sadu záznamů tvořících doménu. Může jít o název tabulky nebo název dotazu, který nevyžaduje parametr.
kritéria Nepovinný argument. Řetězcový výraz používaný k omezení rozsahu dat, na kterém se provádí funkce DStDev nebo DStDevP . Například kritéria jsou často ekvivalentní klauzuli WHERE ve výrazu SQL bez slova WHERE. Pokud jsou kritéria vynechána, funkce DStDev a DStDevP vyhodnocují výraz pro celou doménu. Každé pole, které je součástí kritérií , musí být také polem v doméně; V opačném případě funkce DStDev a DStDevP vrátí hodnotu Null.

Poznámky

Pokud doména odkazuje na méně než dva záznamy nebo pokud kritéria splňují méně než dva záznamy, vrátí funkce DStDev a DStDevPhodnotu Null, což znamená, že směrodatnou odchylku nelze vypočítat.

Ať už používáte funkci DStDev nebo DStDevP v makrech, modulu, výrazu dotazu nebo počítaném ovládacím prvku, musíte pečlivě sestavit argument kritéria , abyste zajistili, že bude vyhodnocen správně.

Pomocí funkcí DStDev a DStDevP můžete zadat kritéria v řádku Kritéria výběrového dotazu. Můžete například vytvořit dotaz na tabulku Objednávky a Produkty, která zobrazí všechny produkty, u kterých přepravní náklady překročily střední a směrodatnou odchylku přepravních nákladů. Řádek Kritéria pod polem Nákladní by obsahoval následující výraz:

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

Funkce DStDev a DStDevP můžete použít ve výrazu počítaného pole dotazu nebo v řádku Aktualizovat do aktualizačního dotazu.

Poznámka

Ve výrazu počítaného pole dotazu součtů můžete použít funkce DStDev a DStDevP nebo funkce StDev a StDevP . Pokud používáte funkci DStDev nebo DStDevP , hodnoty se počítají před seskupením dat. Pokud použijete funkci StDev nebo StDevP , data se před vyhodnocením hodnot ve výrazu pole seskupí.

Funkce DStDev a DStDevP použijte v počítaném ovládacím prvku, když potřebujete zadat kritéria pro omezení rozsahu dat, na kterém se funkce provádí. Pokud chcete například zobrazit směrodatnou odchylku pro objednávky, které mají být expedovány do Kalifornie, nastavte vlastnost ControlSource textového pole na následující výraz:

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

Pokud chcete jednoduše zjistit směrodatnou odchylku pro všechny záznamy v doméně, použijte funkci StDev nebo StDevP .

Tip Pokud datový typ pole, ze kterého je výraz odvozen, je číslo, funkce DStDev a DStDevP vrátí datový typ Double. Pokud v počítaném ovládacím prvku používáte funkci DStDev nebo DStDevP, zahrňte do výrazu funkci převodu datového typu, aby se zlepšil výkon.

Poznámka

Neuložené změny záznamů v doméně nebudou při použití těchto funkcí zahrnuty. Pokud chcete, aby funkce DStDev nebo DStDevP byla založena na změněných hodnotách, musíte nejprve uložit změny kliknutím na Uložit záznam v části Záznamy na kartě Data , přesunutím fokusu na jiný záznam nebo pomocí metody Update .

Příklady dotazů

Výraz Výsledky:
SELECT DStDev("unitprice";"productSales";"unitprice>140") AS Výraz1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice";"productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Vypočítá směrodatnou odchylku hodnoty UnitPrice (s ohledem na to, že daná data jsou vzorek) z tabulky ProductSales, kde je jednotková cena větší než 140, a zobrazí výsledek v hodnotě Výraz1. Také vypočítá směrodatnou odchylku hodnoty UnitPrice (vzhledem k zadaným datům jako celému základnímu souboru), kde "jednotkovácena" je menší než 140, a zobrazí výsledky v hodnotě Výraz2.
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"); Vypočítá směrodatnou odchylku hodnoty UnitPrice (s přihlédnutím k zadaným datům jako vzorku) z tabulky ProductSales, kde je jednotková cena větší než 140, a zobrazí výsledek v hodnotě DstDev. Také vypočítá směrodatnou odchylku hodnoty UnitPrice (vzhledem k zadaným datům jako celému souboru), kde hodnota unitprice je menší než 140, a zobrazí výsledky v hodnotě DstDevP.

Příklad jazyka VBA

Poznámka

Následující příklady ukazují použití této funkce v modulu VBA (Visual Basic pro Applications). Pokud chcete další informace o práci s modulem VBA, vyberte Referenční informace pro vývojáře, které najdete v rozevíracím seznamu vedle položky Hledat a do vyhledávacího pole napište požadované pojmy.

Následující příklad vrátí odhady směrodatné odchylky pro základní soubor a výběrový soubor pro objednávky expedované do Spojeného království. Doménou je tabulka Objednávky. Argument kritéria omezuje výslednou sadu záznamů na ty, pro které je hodnota ShipCountryRegion UK.

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

Následující příklad vypočítá stejné odhady pomocí proměnné strCountryRegionv argumentu kritéria . Všimněte si, že řetězcový výraz obsahuje jednoduché uvozovky ('), takže při zřetězení řetězců bude řetězcový literál UK uzavřen do jednoduchých uvozovek.

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