Funkce DStDev a DStDevP můžete použít k odhadu směrodatné odchylky pro sadu hodnot v zadané sadě záznamů ( Doména ). Funkce DStDev a DStDevP použijte v modulu jazyka VBA (Visual Basic for Applications), Makro, výraz dotazu nebo Vypočítaný ovládací prvek 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 se jednat o Ř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. Argument výraz může obsahovat název pole tabulky, ovládacího prvku ve formuláři, konstanty nebo funkce. Pokud argument výraz obsahuje funkci, může jít o předdefinovanou funkci nebo funkci definovanou uživatelem, ale nikoli o jinou doménovou agregační funkci nebo agregační funkci 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í dotaz.
Poznámka: Můžete použít funkce DStDev a DStDevP nebo funkce StDev a StDevP ve výrazu počítaného pole Souhrnný dotaz. 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 Expr1, 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 ('), aby byl při spojení řetězců řetězcový literál UK uzavřen v jednoduchých uvozovkách.
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 & "'")