Käyttämällä DAvg-funktiota voit laskea määritetyn tietuejoukon (ryhmä) arvojoukon keskiarvon. Käytä DAvg-funktiota Visual Basic for Applications (VBA) -moduulissa, makrossa, kyselyn lausekkeessa tai laskettu 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 ( expr , domain [, criteria] )
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 taulukon tai kyselyn kentän määrittävä merkkijonolauseke, tai se voi olla kentän tietojen laskennan suorittava lauseke. Voit sisällyttää expr-lausekkeeseen taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos expr-lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen toimialuekoostefunktio 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 DAvg-funktiota käytetään. Esimerkiksi, criteria-lauseke vastaa usein SQL-lausekkeen WHERE-lausetta ilman sanaa WHERE. Jos criteria-lauseke jätetään pois, DAvg-funktio laskee expr-lausekkeen arvon koko toimialueen perusteella. Kentän, joka sisältyy criteria-lausekkeeseen, on oltava myös domain-lausekkeen kenttä; muussa tapauksessa DAvg-funktio palauttaa arvon Tyhjä. |
Huomautuksia
Tietueita, jotka sisältävät Tyhjä-arvoja, ei oteta mukaan keskiarvon laskentaan.
Huolimatta siitä, käytätkö DAvg-funktiota makrossa tai moduulissa, kyselyn lausekkeessa tai lasketussa ohjausobjektissa, criteria-argumentti on muodostettava huolellisesti sen varmistamiseksi, että sen arvo lasketaan 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ää myös DAvg-funktiota lasketun kentän lausekkeessa kyselyssä tai päivityskyselyn Päivitä kohteeseen -rivillä.
Huomautus: Voit käyttää joko DAvg- tai Avg-funktiota lasketun kentän lausekkeessa summakyselyssa. 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 kaikkien tietueiden keskiarvon domain-lausekkeessa, 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 kentän, josta expr-lauseke on peräisin, tietotyyppi 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 määrittämään arvojen keskiarvon viitetaulukkon kentässä, voi olla tehokkaampaa luoda kysely, joka sisältää kaikki tarvittavat kentät, ja käyttää sitten lomakkeen tai kyselyn perustana tätä kyselyä.
Huomautus: domain -lausekkeen tietueiden tallentamattomia muutoksia ei oteta mukaan käytettäessä 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. criteria-argumentti rajoittaa tuloksena saatavan tietuejoukon tietyn maan/alueen ja toimituspäivän mukaan. Huomaa, että merkkijonoon sisällytetään avainsana JA useiden kenttien erottamiseksi criteria-argumentissa. 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#