Funkciu DStDev a DStDevP môžete použiť na vypočítanie smerodajnej odchýlky v množine hodnôt nachádzajúcich sa v množine záznamov (doména). Funkcia DStDev a DStDevP sa dá 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ť napríklad 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. Do argumentu výraz môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak argument výraz zahŕňa funkciu, môže to byť vstavaná alebo používateľom definovaná funkcia, 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. Argument kritériá napríklad často zodpovedá klauzule WHERE vo výraze SQL, ale bez slova WHERE. Ak sa argument kritériá vynechá, funkcie DStDev a DStDevP vyhodnotia argument výraz voči celej doméne. Každé pole zahrnuté do argumentu kritériá musí byť aj poľom v argumente doména, v opačnom prípade funkcie DStDev a DStDevP vrátia hodnotu Null. |
Poznámky
Ak argument doména odkazuje na menej než dva záznamy, prípadne sa v argumente kritériá nachádzajú menej než dva záznamy, funkcie DStDev a DStDevP vrátia hodnotu Null, čo znamená, že smerodajná odchýlka sa nedá 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ériá 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ý dotaz.
Poznámka: Funkcie DStDev a DStDevP alebo funkcie StDev a StDevP môžete použiť vo výraze vypočítavaného poľa súhrnný dotaz. Ak používate funkciu DStDev alebo DStDevP , hodnoty sa vypočítajú pred zoskupením údajov. Ak používate 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 vo všetkých záznamoch v argumente doména vyhľadať všetky smerodajné odchýlky, 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 dotazu
Výraz |
Výsledky |
SELECT DStDev("jednotkovácena";"predajproduktov";"jednotkovácena>140") AS Expr1, DStDevP("jednotkovácena";"predajproduktov";"jednotkovácena<140") AS Expr2 FROM productSales GROUP BY DStDev("jednotkovácena";"predajproduktov";"jednotkovácena>140"), DStDevP("jednotkovácena";"predajproduktov";"jednotkovácena<140"); |
Vypočíta smerodajnú odchýlku jednotkovejceny (berúc do úvahy te zadané údaje ako vzorku) z tabuľky PredajProduktov, kde "jednotkovácena" je väčšia ako 140 a zobrazí výsledok v expr1. Vypočíta aj smerodajnú odchýlku jednotkovejceny (berúc do úvahy dané údaje ako celý základný súbor), kde jednotková cena je menšia ako 140 a výsledky sa zobrazia v expr2. |
SELECT DStDev("jednotkovácena";"predajproduktov";"jednotkovácena>140") AS DstDev, DStDevP("jednotkovácena";"predajproduktov";"jednotkovácena<140") AS DstDevP FROM productSales GROUP BY DStDev("jednotkovácena";"predajproduktov";"jednotkovácena>140"), DStDevP("jednotkovácena";"predajproduktov";"jednotkovácena<140"); |
Vypočíta smerodajnú odchýlku jednotkovejceny (berúc do úvahy te dané údaje ako vzorku) z tabuľky PredajProduktov, kde "jednotkovácena" je väčšia ako 140 a zobrazí výsledok v DstDev. Vypočíta tiež smerodajnú odchýlku jednotkovejceny (berúc do úvahy dané údaje ako celý základný súbor), kde jednotková cena je menšia ako 140 a zobrazí výsledky v DstDevP. |
Príklad jazyka 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ú tie isté 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 & "'")