DAvg-funktion avulla voit laskea määritetyn tietuejoukon (toimialueen) arvojoukon keskiarvon. Käytä DAvg-funktiota Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselylausekkeessa tai lasketussa ohjausobjektissa.
Voit esimerkiksi käyttää DAvg- funktiota tietyn rahtikulukyselyn ehtorivillä rajoittamaan niiden tietueiden tuloksia, joiden rahtikulut ylittävät keskiarvon. Tai voit käyttää DAvg-funktion sisältävää lauseketta lasketussa ohjausobjektissa tai näyttää sen avulla edellisten tilausten keskiarvon uuden tilauksen arvon vieressä.
Syntaksi
DAvg(lauseke, toimialue [, ehdot] )
DAvg-funktion syntaksilla on seuraavat argumentit:
| Argumentti | Kuvaus |
|---|---|
| lauseke | Pakollinen. Lauseke, joka määrittää kentän, jonka numeeriset tiedot haluat laskea yhteen. Se voi olla merkkijonolauseke, joka tunnistaa taulukon tai kyselyn kentän, 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 tietoaluetta, jolle DAvg-funktiota käytetään. Esimerkiksi ehdot vastaavat usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos ehdot jätetään pois, DAvg-funktio arvioi lausekkeen koko toimialueen perusteella. Kaikkien ehtoihin sisältyvien kenttien on myös oltava toimialueen kenttiä. muussa tapauksessa DAvg-funktio palauttaa tyhjäarvon. |
Huomautuksia
Tietueita, jotka sisältävät Tyhjä-arvoja, ei oteta mukaan keskiarvon laskentaan.
Riippumatta siitä, käytätkö DAvg-funktiota makrossa tai moduulissa, kyselylausekkeessa vai lasketussa ohjausobjektissa, sinun on muodostettava ehtoargumentti huolellisesti sen varmistamiseksi, että se arvioidaan oikein.
Voit käyttää DAvg-funktiota määrittämään ehdot kyselyn Ehdot-rivillä. Oletetaan esimerkiksi, että haluat tarkastella niiden tuotteiden luetteloa, joiden tilausten määrä ylittää keskimääräisen tilausmäärän. Voit luoda kyselyn Tilaukset-, Tilaustiedot- ja Tuotteet-taulukoissa, ja sisällyttää Tuotenimi-kentän ja Määrä-kentän seuraavalla lausekkeella Ehdot-rivillä Määrä-kentän alapuolelle:
>DAvg("[Quantity]", "Orders")
Voit käyttää DAvg-funktiota myös kyselyn lasketun kentän lausekkeessa tai päivityskyselyn Päivitä kohteeseen -rivillä.
Huomautus
Voit käyttää joko DAvg - tai Avg-funktiota lasketussa kenttälausekkeessa summakyselyssä. Jos käytät DAvg-funktiota, lasketaan arvojen keskiarvo ennen tietojen ryhmittämistä. Jos käytät Avg-funktiota, tiedot ryhmitetään ennen kentän lausekkeen arvojen keskiarvon laskemista.
Käytä DAvg-funktiota lasketussa ohjausobjektissa, kun haluat määrittää ehdot, joiden perusteella rajataan DAvg-funktion suorittamisessa käytettävä tietoalue. Voit esimerkiksi näyttää Kaliforniaan toimitettavien tilausten rahtikulujen keskiarvon asettamalla tekstiruudun ControlSource-ominaisuudeksi seuraavan lausekkeen:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Jos haluat vain laskea keskiarvon kaikista toimialueen tietueista, käytä Avg-funktiota .
Voit käyttää DAvg-funktiota moduulissa tai makrossa tai lasketussa ohjausobjektissa lomakkeessa, jos näytettävää kenttää ei ole lomakkeen perustana olevassa tietuelähteessä. Oletetaan esimerkiksi, että sinulla on Tilaukset-taulukkoon perustuva lomake ja haluat sisällyttää Tilaustiedot-taulukon Määrä-kentän tietyn asiakkaan tilaamien tuotteiden keskimäärän näyttämiseksi. Voit käyttää DAvg-funktiota suorittamaan tämän laskutoimituksen ja näyttämään lomakkeen tiedot.
Vinkkejä
- Jos käytät DAvg-funktiota lasketussa ohjausobjektissa, haluat ehkä sijoittaa ohjausobjektin lomakkeen ylä- tai alatunnisteeseen siten, että tämän ohjausobjektin arvoa ei lasketa uudelleen aina, kun siirryt uuteen tietueeseen.
- Jos sen kentän tietotyyppi, josta lauseke on johdettu, on luku, DAvg-funktio palauttaa Double-tietotyypin. Jos käytät DAvg-funktiota lasketussa ohjausobjektissa, sisällytä lausekkeeseen tietotyypin muuntofunktio suorituskyvyn parantamiseksi.
- Vaikka voit käyttää DAvg-funktiota viitetaulukon kentän arvojen keskiarvon määrittämiseen, voi olla tehokkaampaa luoda kysely, joka sisältää kaikki tarvitsemasi kentät, ja luoda sitten lomakkeen tai raportin kyseiseen kyselyyn.
Huomautus
Toimialueen tietueiden tallentamattomia muutoksia ei oteta mukaan, kun käytät tätä funktiota. Jos haluat, että DAvg-funktio perustuu muuttuneisiin arvoihin, muutokset on ensin tallennettava napsauttamalla Tallenna tietueTiedot-välilehden Tietueet-kohdassa, siirtämällä kohdistus toiseen tietueeseen tai käyttämällä Päivitä-menetelmää.
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 funktio palauttaa rahtikulujen keskiarvon tilauksille, jotka on toimitettu tiettynä päivämääränä tai sen jälkeen. domain-argumentti on Tilaukset-taulukko. Ehto-argumentti rajoittaa tuloksena olevaa tietuejoukkoa annetun maan/alueen ja lähetyspäivän perusteella. Huomaa, että avainsana JA sisältyy merkkijonoon ehtoargumentin useiden kenttien erottamiseksi toisistaan. DAvg-funktion laskentaan sisältyvillä kaikilla tietueilla on kummatkin ehdot.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function
Voit kutsua funktion käyttämällä seuraavaa koodia välittömässä suoritusruudussa:
:AvgFreightCost "UK", #1/1/96#