Funkcie DStDev, DStDevP

Vzťahuje sa na
Access pre Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkcie DStDev a DStDevP možno použiť na vypočítanie smerodajnej odchýlky v množine hodnôt nachádzajúcich sa v zadanej množine záznamov (doméne). Funkcie DStDev a DStDevP sa dajú použiť v týchto objektoch: modul jazyka Visual Basic for Applications (VBA), makro, výraz dotazu alebo vypočítavaný ovládací prvok vo formulári alebo zostave.

Použite funkciu DStDevP na vyhodnotenie populácie a funkciu DStDev na vyhodnotenie vzorky populácie.

Pomocou funkcie DStDev v module môžete napríklad vypočítať smerodajnú odchýlku vo výsledkoch testov v množine študentov.

Syntax

DStDev(výraz; doména [; kritériá] )

DStDevP(výraz; doména [; kritériá] )

Funkcie DStDev a DStDevP majú tieto argumenty:

Argument Popis
výraz Povinný argument. Výraz určujúci číselné pole, v ktorom chcete nájsť smerodajnú odchýlku. Môže to byť reťazcový výraz, ktorý určí pole v tabuľke alebo v dotaze, alebo to môže byť výraz, ktorý vykoná výpočet s údajmi v poli. Vo výraze môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak výraz zahŕňa funkciu, môže to byť vstavaná funkcia alebo funkcia definovaná používateľom, ale nie agregačná funkcia inej domény alebo agregačná funkcia SQL.
doména Povinný argument. Výraz reťazca určujúci množinu záznamov, ktoré vytvárajú doménu. Môže to byť názov tabuľky alebo názov pre dotaz, ktorý nevyžaduje parameter.
kritériá Voliteľný argument. Reťazcový výraz slúžiaci na obmedzenie rozsahu údajov, ktoré spracuje funkcia DStDev alebo DStDevP. Kritériá napríklad často obsahujú klauzulu WHERE vo výraze SQL, ale bez slova WHERE. Ak sa vynechá argument kritériá , funkcie DStDev a DStDevP vyhodnotia výraz voči celej doméne. Každé pole zahrnuté do kritérií musí byť aj poľom v doméne. V opačnom prípade funkcie DStDev a DStDevP vrátia hodnotu Null.

Poznámky:

Ak doména odkazuje na menej ako dva záznamy alebo ak kritériá spĺňajú menej ako dva záznamy, funkcie DStDev a DStDevP vrátia hodnotu null, čo znamená, že smerodajnú odchýlku nie je možné vypočítať.

Bez ohľadu na to, či funkciu DStDev alebo DStDevP použijete v makre, v module, vo výraze dotazu alebo vo vypočítavanom ovládacom prvku, argument kritéria je nutné zostaviť pozorne, aby sa zabezpečilo jeho správne vyhodnotenie.

Funkciu DStDev a DStDevP môžete použiť na zadanie kritérií v riadku Kritériá vybratého dotazu. Môžete napríklad vytvoriť dotaz v tabuľke Objednávky a v tabuľke Produkty a zobraziť všetky produkty, ktorých prepravné náklady klesli nad priemernú hodnotu spolu so smerodajnou odchýlkou prepravných nákladov. Riadok Kritériá pod poľom Preprava bude obsahovať nasledujúci výraz:

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

Funkcie DStDev a DStDevP môžete použiť vo výraze vypočítavaného poľa dotazu alebo v riadku Aktualizovať do aktualizačného dotazu.

Poznámka

Funkcie DStDev a DStDevP , prípadne funkcie StDev a StDevP môžete použiť vo výraze vypočítavaného poľa dotazu na súčty. Ak používate funkciu DStDev alebo DStDevP , hodnoty sa vypočítajú pred zoskupením údajov. Ak použijete funkciu StDev alebo StDevP , údaje sa zoskupia pred vyhodnotením hodnôt vo výraze poľa.

Funkcie DStDev a DStDevP použite vo vypočítavanom ovládacom prvku v prípade, ak potrebujete v kritériách zadať obmedzenie rozsahu údajov, v ktorom sa má funkcia použiť. Ak chcete napríklad zobraziť smerodajnú odchýlku pre objednávky určené pre Kaliforniu, nastavte vlastnosť textového poľa ControlSource na nasledujúci výraz:

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

Ak chcete jednoducho nájsť smerodajnú odchýlku vo všetkých záznamoch v doméne, použite funkciu StDev alebo StDevP .

Tip Ak je typ údajov poľa, z ktorého je odvodený výraz, číslo, funkcie DStDev a DStDevP vrátia údajový typ Double. Ak používate funkciu DStDev alebo DStDevP vo vypočítavanom ovládacom prvku, zahrňte na zvýšenie výkonu do výrazu funkciu konverzie typu údajov.

Poznámka

Pri použití týchto funkcií sa do spracovania nezahrnú neuložené zmeny v záznamoch v argumente doména. Ak chcete, aby bola funkcia DStDev alebo DStDevP založená na zmenených hodnotách, je najprv nutné tieto zmeny uložiť tak, že na karte Údaje v časti Záznamy kliknete na položku Uložiť záznam, presuniete zameranie na iný záznam alebo použijete metódu Aktualizovať.

Príklady dotazov

Výraz Výsledky
SELECT DStDev("jednotková cena";"produktPredaj";"jednotková cena>140") AS Expr1, DStDevP("jednotková cena";"produktPredaj";"jednotková cena<140") AS Expr2 FROM productSales GROUP BY DStDev("jednotková cena";"produktPredaj";"jednotková cena>140"), DStDevP("jednotková cena";"produktPredaj";"jednotková cena<140"); Vypočíta Standardnú odchýlku hodnoty Jednotková cena (údaje berie do úvahy ako vzorku) z tabuľky PredajProduktu, kde hodnota Jednotková cena je väčšia ako 140, a výsledok zobrazí v vzorci Expr1. Vypočíta tiež štandardnú odchýlku hodnoty Jednotková cena (ak dané údaje považuje za celý základný súbor), kde hodnota Jednotková cena je menšia než 140, a výsledky zobrazí v prípade Expr2.
SELECT DStDev("jednotková cena";"produktPredaj";"jednotková cena>140") AS DstDev, DStDevP("jednotková cena";"produktPredaj";"jednotková cena<140") AS DstDevP FROM productSales GROUP BY DStDev("jednotková cena";"produktPredaj";"jednotková cena>140"), DStDevP("jednotková cena";"produktPredaj";"jednotková cena<140"); Vypočíta Standardovú odchýlku hodnoty Jednotková cena (berie údaje do úvahy ako vzorku) od tabuľky PredajProduktu, kde hodnota Jednotková cena je väčšia než 140, a výsledok zobrazí v parametri DstDev. Vypočíta tiež Standard odchýlku hodnoty Jednotková cena (berie dané údaje do celého súboru), kde hodnota Jednotková cena je menšia ako 140, a výsledky zobrazí v parametri DstDevP.

Príklad VBA

Poznámka

Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.

Nasledujúci príklad vráti odhady smerodajnej odchýlky populácie a vzorku populácie pre objednávky dodané do Spojeného kráľovstva. Doménou je tabuľka Objednávky. Argument kritériá obmedzuje výslednú množinu záznamov na záznamy, pre ktoré sa vlastnosť KrajinaOblasťDodania rovná hodnote Spojené kráľovstvo.

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

V nasledujúcom príklade sa vypočítajú rovnaké odhady pomocou premennej strCountryRegion, v argumente kritériá . Všimnite si, že výraz reťazca obsahuje jednoduché úvodzovky ('), takže po zreťazení reťazcov sa reťazcový literál UK uzavrie do jednoduchých úvodzoviek.

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 & "'")