A DStDev és a DStDevP függvény használatával megbecsülheti a szórást egy megadott rekordkészletben (tartományban) lévő értékek halmazában. Használja a DStDev és a DStDevP függvényt egy Visual Basic for Applications (VBA) modulban, makróban, lekérdezési kifejezésben vagy űrlapon vagy jelentésben lévő számított vezérlőelemben.
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. Ez lehet egy táblából vagy lekérdezésből származó mezőt azonosító sztringkifejezés, vagy egy olyan kifejezés, amely számítást végez az adott mező adatain. A kifejezésben megadhatja egy mező nevét egy táblában, egy űrlap vezérlőelemét, egy állandót vagy egy függvényt. Ha a kifejezés tartalmaz egy függvényt, az lehet beépített vagy felhasználó által definiált, de nem egy másik tartomány-összesítő vagy SQL összesítő függvény. |
| 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 az SQL-kifejezések WHERE záradékával, a WHERE szó nélkül. Ha a feltétel nincs megadva, a DStDev és a DStDevP függvény a teljes tartományra kiértékeli a kifejezés argumentumot. A feltételekben szereplő mezőknek tartománybeli mezőnek 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 feltételeknek, a DStDev és a DStDevP függvény null értéket ad vissza, jelezve, hogy a szórás nem számítható ki.
Függetlenül attól, hogy a DStDev vagy a DStDevP függvényt makróban, modulban, lekérdezési kifejezésben vagy számított vezérlőelemben használja, gondosan kell összeállítania a kritériumargumentumot, hogy biztosan helyesen értékelje ki.
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ított mezőkifejezésében vagy egy frissítő lekérdezés Frissítés sorában.
Megjegyzés
Az összegző lekérdezés számított mezőkifejezésében használhatja a DStDev és a DStDevP vagy a 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 meg szeretné keresni a tartomány összes rekordjának szórását, használja az StDev vagy az StDevP függvényt.
Tipp Ha annak a mezőnek az adattípusa, amelyből a kifejezés származik, szám, akkor a DStDev és a DStDevP függvény dupla adattípust 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
A tartomány rekordjainak nem mentett módosításai nem szerepelnek a függvények használatakor. Ha azt szeretné, hogy a DStDev vagy a DStDevP függvény a módosított értékeken alapuljon, először mentenie kell a módosításokat az Adatok lap Rekordok csoportjában a Rekord mentése gombra kattintva, a fókusz másik rekordra való áthelyezésével vagy az Update metódussal.
Példák lekérdezésre
| Kifejezés | Eredmény: |
|---|---|
| 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"); | Kiszámítja az "Egységár" szórását (a megadott adatokat mintaként figyelembe véve) a "ProductSales" táblából, ahol az "egységár" nagyobb 140-nél, és az eredményt az Expr1 értékben jeleníti meg. Kiszámítja a "UnitPrice" szórását is (figyelembe véve a megadott adatokat teljes sokaságként), ahol az "egységár" kisebb 140-nél, és megjeleníti az eredményeket az Expr2-ben. |
| 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"); | Kiszámítja az "Egységár" szórását (a megadott adatokat mintaként figyelembe véve) a "ProductSales" táblából, ahol az "egységár" nagyobb 140-nél, és az eredményt DstDev formátumban jeleníti meg. Kiszámítja a "UnitPrice" szórását is (figyelembe véve a megadott adatokat teljes sokaságként), ahol az "egységár" kisebb 140-nél, és az eredményeket a 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 az eredményül kapott rekordhalmazt azokra korlátozza, amelyekhez a ShipCountryRegion értéke Egyesült Királyság.
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élda ugyanazt a becslést számítja ki egy változó () strCountryRegionhasználatával a kritérium argumentumban. Vegye figyelembe, hogy a sztringkifejezés tartalmazza az egyszeres idézőjeleket ('), így a sztringek összefűzésekor a sztringkonstans UK szimpla idézőjelek közé kerül.
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 & "'")