DStDev- ja DStDevP-funktioiden avulla voit arvioida määritetyn tietuejoukon (ryhmä) arvojoukon keskihajonnan. Käytä DStDev- ja DStDevP-funktioita seuraavissa: Visual Basic for Applications (VBA) -moduuli, makro, kyselyn lauseke tai lomakkeen tai raportin laskettu ohjausobjekti.
DStDevP-funktion avulla määrittää populaation, ja DStDev-funktion avulla voit laskea populaation otoksen arvon.
Voit esimerkiksi käyttää DStDev-funktiota moduulissa, kun haluat laskea opiskelijoiden koetulosten keskihajonnan.
Syntaksi
DStDev ( lauseke , ryhmä [, ehdot] )
DStDevP ( lauseke , ryhmä [, ehdot] )
DStDev- ja DStDevP-funktioilla on seuraavat argumentit:
Argumentti |
Kuvaus |
lauseke |
Pakollinen. Lauseke, joka määrittää numeerisen kentän, jolle halutaan löytää keskihajonta. Lauseke voi olla taulukon tai kyselyn kentän määrittävä merkkijonolauseke tai se voi olla kentän tietojen laskennan suorittava lauseke. Lauseke voi sisältää taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen ryhmäkoostefunktio eikä SQL-koostefunktio. |
ryhmä |
Pakollinen. Merkkijonolauseke, joka määrittää ryhmän muodostavan tietuejoukon. Kyseessä voi olla taulukon nimi tai sellaisen kyselyn nimi, joka ei vaadi parametria. |
ehto |
Valinnainen. Merkkijonolauseke, jonka avulla rajoitetaan niiden tietojen aluetta, joihin DStDev- tai DStDevP-funktiota käytetään. Esimerkiksi ehdot vastaa usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, DStDev- ja DStDevP-funktiot vertaavat lauseketta koko ryhmään. Kaikkien kenttien, jotka sisällytetään ehtoihin, on myös oltava kenttiä ryhmässä; muussa tapauksessa DStDev- ja DStDevP-funktiot palauttavat tyhjäarvon. |
Huomautuksia
Jos ryhmä viittaa vähempään kuin kahteen tietueeseen tai jos vähemmän kuin kaksi tietuetta täyttää ehdot, DStDev- ja DStDevP-funktiot palauttavat tyhjäarvon, joka ilmaisee, että keskihajontaa ei voida laskea.
Huolimatta siitä, käytätkö DStDev- tai DStDevP-funktiota makrossa, moduulissa, kyselyn lausekkeessa vai lasketussa ohjausobjektissa, varmista ehdot-argumentin arvon oikea laskenta muodostamalla argumentti huolellisesti.
Voit käyttää DStDev- ja DStDevP-funktioita määrittämään ehdot valintakyselyn Ehdot-rivillä. Voit esimerkiksi luoda Orders (Tilaukset) -taulukolle ja Products (Tuotteet) -taulukolle kyselyn, joka näyttää kaikki ne tuotteet, joiden rahtikustannukset ylittivät keskiarvon, ja rahtikustannusten keskihajonnan. Freight (Rahti) -kentän alapuolella oleva Ehdot-rivi sisältää seuraavan lausekkeen:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Voit käyttää DStDev- ja DStDevP-funktioita kyselyn lasketun kentän lausekkeessa tai päivityskyselyn Päivitä-rivillä.
Huomautus: Voit käyttää DStDev- ja DStDevP-funktioita tai StDev- ja StDevP-funktioita summakyselyn lasketun kentän lausekkeessa. Jos käytät DStDev- tai DStDevP-funktiota, arvot lasketaan ennen tietojen ryhmitystä. Jos käytät StDev- tai StDevP-funktiota, tiedot ryhmitetään ennen kentän lausekkeen arvojen laskentaa.
Käytä DStDev- ja DStDevP-funktiota lasketussa ohjausobjektissa, kun haluat määrittä ehdot, joiden perusteella rajataan funktion suorittamisessa käytettävä tietoalue. Jos haluat esimerkiksi näyttää Kaliforniaan toimittavien tilausten keskihajonnan, määritä tekstiruudun OhjausobjektinLähde-ominaisuus seuraavasti:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Jos haluat yksinkertaisesti etsiä ryhmän kaikkien tietueiden keskihajonnan, käytä StDev- tai StDevP-funktiota.
Vihje Jos kentän, josta funktion lauseke on peräisin, tietotyyppi on luku, DStDev- ja DStDevP-funktiot palauttavat Double-tietotyypin. Jos käytät DStDev- tai DStDevP-funktioita lasketussa ohjausobjektissa, sisällytä lausekkeeseen tietotyypin muuntofunktio suorituskyvyn parantamiseksi.
Huomautus: Ryhmän tietueiden tallentamattomia muutoksia ei oteta mukaan käytettäessä näitä funktiota. Jos haluat, että DStDev- tai DStDevP-funktio perustuu muuttuneisiin arvoihin, tallenna ensin muutokset valitsemalla Tiedot-välilehden Tietueet-kohdasta Tallenna tietue, jolloin toisesta tietueesta tulee aktiivinen, tai käyttämällä Päivitä-menetelmää.
Esimerkkejä kyselystä
Lauseke |
Tulokset |
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"); |
Laskee Yksikköhinta-argumentin keskihajonnan (ottaen huomioon annetut tiedot otoksena) taulukosta "ProductSales", jossa "yksikköhinta" on suurempi kuin 140, ja näyttää tuloksen lauseke1:ssä. Laskee myös yksikköhinta-argumentin keskihajonnan (ottaen huomioon annetut tiedot koko populaationa), jossa yksikköhinta on alle 140, ja näyttää tulokset lauseke2:ssa. |
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"); |
Laskee Yksikköhinta-argumentin keskihajonnan (ottaen huomioon annetut tiedot otoksena) taulukosta "ProductSales", jossa "yksikköhinta" on suurempi kuin 140, ja näyttää tuloksen muodossa DstDev. Laskee myös yksikköhinta-arvon keskihajonnan (ottaen huomioon annetut tiedot koko populaationa), jossa yksikköhinta on alle 140 ja näyttää tulokset DstDevP:ssä. |
VBA-esimerkki
Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Seuraava esimerkki palauttaa arviot Isoon-Britanniaan toimitettujen tilausten populaatiosta ja populaatio-otoksen keskihajonnasta. Ryhmä on Orders (Tilaukset) -taulukko. Ehdot-argumentti rajoittaa tuloksena olevan tietuejoukon tietueisiin, joiden kohdalla ToimitusmaaAlue-arvo on 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'")
Seuraava esimerkki laskee samat arviot käyttämällä muuttujaa strCountryRegionehdot-argumentissa. Huomaa, että merkkijonolauseke sisältää puolilainausmerkkejä ('), joten kun merkkijonot liitetään yhteen, merkkijonoliteraali UK suljetaan puolilainausmerkkeihin.
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 & "'")