DStDev- ja DStDevP-funktioiden avulla voit arvioida määritetyn tietuejoukon (toimialueen) arvojoukon keskihajonnan. Käytä DStDev- ja DStDevP-funktioita Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselylausekkeessa tai lomakkeen tai raportin lasketussa ohjausobjektissa.
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, toimialue [, ehdot] )
DStDevP(lauseke, toimialue [, ehdot] )
DStDev- ja DStDevP-funktioilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
| lauseke | Pakollinen. Lauseke, joka määrittää numeerisen kentän, jolle halutaan löytää keskihajonta. Se voi olla merkkijonolauseke, joka tunnistaa kentän taulukosta tai kyselystä, tai se voi olla lauseke, joka suorittaa laskutoimituksen kyseisen kentän tiedoille. Lausekkeessa voit sisällyttää taulukon kentän nimen, lomakkeen ohjausobjektin, vakion tai funktion. Jos lauseke sisältää funktion, se voi olla joko sisäinen tai käyttäjän määrittämä, mutta ei toinen toimialueen kooste tai 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 vastaavat usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, DStDev - ja DStDevP-funktiot arvioivat lauseketta koko toimialueen perusteella. Kaikkien ehtoihin sisältyvien kenttien on myös oltava toimialueen kenttiä. Muussa tapauksessa DStDev - ja DStDevP-funktiot palauttavat tyhjäarvon. |
Huomautuksia
Jos toimialue viittaa alle kahteen tietueeseen tai jos alle kaksi tietuetta täyttää ehdot, DStDev - ja DStDevP-funktiot palauttavat tyhjäarvon, mikä ilmaisee, että keskihajontaa ei voi laskea.
Riippumatta siitä, käytätkö DStDev- tai DStDevP-funktiota makrossa, moduulissa, kyselylausekkeessa tai lasketussa ohjausobjektissa, sinun on muodostettava ehtoargumentti huolellisesti sen varmistamiseksi, että se arvioidaan oikein.
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 lasketussa kenttälausekkeessa tai päivityskyselyn Päivitä kohteeseen -rivillä.
Huomautus
Voit käyttää DStDev - ja DStDevP-funktioita tai StDev - ja StDevP-funktioita summakyselyn lasketussa kenttä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 vain löytää keskihajonnan kaikista toimialueen tietueista, käytä StDev - tai StDevP-funktiota .
Vihje Jos sen kentän tietotyyppi, josta lauseke on johdettu, 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"-Standard poikkeaman (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 Standard poikkeaman (ottaen huomioon annetut tiedot koko populaationa), jossa yksikköhinta on pienempi kuin 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" -Standard poikkeaman (ottaen huomioon annetut tiedot otoksena) taulukosta "ProductSales", jossa "yksikköhinta" on suurempi kuin 140, ja näyttää tuloksen DstDev-muodossa. Laskee myös yksikköhinta Standard poikkeaman (ottaen huomioon annetut tiedot koko populaationa), jossa yksikköhinta on pienempi kuin 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. Ehto-argumentti rajoittaa tuloksena saatavan tietuejoukon tietueisiin, joiden ShipCountryRegion-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'")
Seuraavassa esimerkissä lasketaan samat arviot käyttämällä muuttujaa strCountryRegionehtoargumentissa. Huomaa, että puolilainausmerkit (') sisältyvät merkkijonolausekkeeseen, joten kun merkkijonot ketjutetaan, merkkijonoliteraali UK sisällytetään 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 & "'")