DStDev és DStDevP függvény

Hatókör
Microsoft 365-höz készült Access Access 2024 Access 2021 Access 2019 Access 2016

A DStDev és a DStDevP függvénnyel megbecsülheti a szórást egy adott rekordhalmaz (egy tartomány) adott értékhalmazában. A DStDev és a DStDevP függvényt használhatja egy Visual Basic for Applications (VBA) -modulban, makróban, lekérdezési kifejezésben vagy űrlapok vagy jelentések számított vezérlőelemében.

A DStDevP függvény egy sokaság kiértékelésére, a DStDev függvény pedig egy sokaságminta kiértékelésére használható.

A DStDev függvényt egy modulban használva például egy adott diákcsoport teszteredményeinek szórását számolhatja ki.

Szintaxis

DStDev(kifejezés; tartomány [; kritérium] )

DStDevP(kifejezés; tartomány [; kritérium] )

A DStDev és a DStDevP függvény a következő argumentumokat tartalmazza:

Argumentum Leírás:
kif Kötelező. Olyan kifejezés, amely megadja azt a numerikus mezőt, amelynek vissza szeretné adni a szórását. Lehet olyan karakterlánc-kifejezés, amely megadja egy tábla vagy lekérdezés egy mezőjét, vagy lehet olyan kifejezés, amely a mezőben található adatokon elvégez egy számítást. A kifejezésben szerepeltetheti egy tábla mezőjének nevét, egy űrlap vezérlőelemét, állandót vagy függvényt. Ha a kifejezés függvényt tartalmaz, akkor az lehet beépített és felhasználó által megadott függvény is, de másik tartományösszesítő vagy összesítő SQL-függvény nem.
tartomány Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. Lehet táblanév vagy olyan lekérdezés neve, amelyhez nem szükséges paramétert megadni.
kritérium Nem kötelező. Olyan karakterlánc-kifejezés, amellyel megadja, hogy mely adatokra kell alkalmazni a DStDev vagy a DStDevP függvényt. A feltételek például gyakran egyenértékűek egy SQL-kifejezés WHERE záradékával a WHERE szó nélkül. Ha nincs megadva kritérium, a DStDev és a DStDevP függvény a teljes tartományon értékeli ki a kifejezést. A feltételben szereplő mezőknek egyben a tartomány mezőinek is kell lenniük; Ellenkező esetben a DStDev és a DStDevP függvény null értéket ad vissza.

Megjegyzések

Ha a tartomány kettőnél kevesebb rekordra hivatkozik, vagy ha kettőnél kevesebb rekord felel meg a kritériumnak, a DStDev és a DStDevP függvény null értéket ad vissza, jelezve, hogy nem számítható ki szórás.

Akár makróban, modulban, lekérdező kifejezésben vagy számított vezérlőelemben használja a DStDev vagy a DStDevP függvényt, a kritérium argumentumot gondosan kell megalkotni, hogy az Access megfelelően értékelje ki a függvényt.

A DStDev és a DStDevP függvény például használható egy adott lekérdezés Kritérium sorában lévő feltételek megadására. Létrehozhat például egy lekérdezést egy Megrendelések és egy Termékek táblában, amellyel megjelenítheti az összes olyan terméket, amelynek a fuvardíja átlagon felüli, valamint a fuvardíj szórását. A Fuvardíj mező alatti Kritérium sorban ez esetben a következő kifejezés szerepelne:

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

A DStDev és a DStDevP függvényt használhatja egy lekérdezés számítottmező-kifejezésében vagy egy frissítő lekérdezés Módosítás sorában.

Megjegyzés

Összegző lekérdezés számítottmező-kifejezésében használhatja a DStDev és a DStDevP függvényt, illetve az StDev és az StDevP függvényt. Ha a DStDev vagy a DStDevP függvényt használja, akkor az értékek kiszámítása még az adatok csoportosítása előtt megtörténik. Ha az StDev vagy az StDevP függvényt használja, akkor az adatok csoportosítása megy végbe először, és ezután következik a mezőkifejezések kiértékelése.

Egy számított vezérlőelemben akkor használja a DStDev vagy a DStDevP függvényt, ha meg kell adnia egy kritérium argumentumot annak az adattartománynak a korlátozására, amelyre alkalmazni szeretné a függvényt. Ha például meg szeretné jeleníteni a Pest megyébe szállítandó rendelések varianciáját, állítsa a szövegmező ControlSource tulajdonságát a következő kifejezésre:

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

Ha egyszerűen a tartomány összes rekordjának szórását szeretné megkeresni, használja az StDev vagy az StDevP függvényt.

Tipp Ha szám az adattípusa annak a mezőnek, amelyből a kifejezés létrejött, a DStDev és a DStDevP függvény Dupla adattípusú értéket ad vissza. Ha számított vezérlőelemben használja a DStDev vagy a DStDevP függvényt, akkor a hatékonyság javítása érdekében helyezzen adattípus-konverziós függvényt a kifejezésbe.

Megjegyzés

Amikor ezeket a függvényeket használja, a tartomány rekordjainak nem mentett módosításait nem veszi figyelembe az Access. Ha azt szeretné, hogy a DStDev vagy a DStDevP függvény a módosított értékeket vegye alapul, először mentenie kell a módosításokat. Ehhez kattintson az Adatok lap Rekordokcsoportjában a Rekord mentése gombra, vigye a fókuszt másik rekordra, vagy használja az Update metódust.

Példák lekérdezésekre

Expression (Kifejezés) Eredmény:
SELECT DStDev("egységár","termékértékesítés","egységár>140") AS Expr1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 from productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Kiszámítja az "Egységár" szórását (mintaként figyelembe véve a megadott adatokat) a "ProductSales" táblából, ahol "egységár" nagyobb, mint 140; az eredményt Kif1 jeleníti meg. Kiszámítja továbbá az "Egységár" szórását is (teljes statisztikai sokaságként figyelembe véve az adott adatot), ahol "egységár" kisebb 140-nél; az eredményeket Kif2 formátumban jeleníti meg.
SELECT DStDev("egységár","termékértékesítés","egységár>140") AS DstDev, DStDevP("egységár","termékértékesítés","egységár<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","unitprice","unitprice<140"); Kiszámítja az "Egységár" szórását a "ProductSales" táblából (a megadott adatokat mintaként figyelembe véve), ahol az "egységár" nagyobb mint 140; az eredményt a DSTDev képletben jeleníti meg. Kiszámítja továbbá az "egységár" szórását is (az adott adatot teljes statisztikai sokaságként tekintve), ahol az "egységár" kisebb 140-nél; az eredményeket DstDevP-ben jeleníti meg.

VBA-példa

Megjegyzés

A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.

Az alábbi példában az Egyesült Királyságba szállított rendelések egy sokaságának, illetve egy mintasokaságának becsült szórását kapja eredményül. A tartomány a Rendelések tábla. A kritérium argumentum azokra a rekordokra korlátozza a rekordkészletet, amelyekben EK a SzállításiOrszágTerület mező értéke.

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

A következő példában a becsült érték kiszámításához egy változó strCountryRegion() van megadva a kritérium argumentumban. Vegye figyelembe, hogy a karakterlánc-kifejezés aposztrófokat (') tartalmaz, hogy a karakterláncok összefűzése után a karakterlánc-literál UK aposztrófok között legyen.

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