Du kan bruke DAvg-funksjonen til å beregne gjennomsnittet av et sett med verdier i et angitt sett med poster (et domene). Bruke DAvg-funksjonen i en VBA-modul (Visual Basic for Applications), i en makro, i et spørreuttrykk eller i en beregnet kontroll.
Du kan for eksempel bruke DAvg-funksjonen i vilkårsraden i en utvalgsspørring om fraktkostnad for å begrense resultatene til de postene der fraktkostnaden overskrider gjennomsnittet. Du kan også bruke et uttrykk som inkluderer DAvg-funksjonen i en beregnet kontroll, og vise den gjennomsnittlige verdien av tidligere ordrer ved siden av verdien av en ny ordre.
Syntaks
DAvg(uttr; domene [, vilkår] )
Syntaksen for funksjonen DAvg har disse argumentene:
| Argumenter | Beskrivelse |
|---|---|
| uttr | Obligatorisk. Et uttrykk som identifiserer feltet som inneholder de numeriske dataene du vil finne gjennomsnittet av. Det kan være et strenguttrykk som identifiserer et felt i en tabell eller spørring, eller det kan være et uttrykk som utfører beregninger på data i det feltet. I uttrykk kan du ta med navnet på et felt i en tabell, en kontroll på et skjema, en konstant eller en funksjon. Hvis uttr inneholder en funksjon, kan den være innebygd eller brukerdefinert, men ikke en annen domenemengde- eller SQL-mengdefunksjon. |
| domene | Obligatorisk. En streng som identifiserer settet med poster som utgjør domenet. Det kan være enten et tabellnavn eller et spørringsnavn for en spørring som ikke krever en parameter. |
| vilkår | Valgfritt. Et strenguttrykk som brukes til å begrense dataområdet der DAvg-funksjonen utføres. Vilkår tilsvarer for eksempel ofte WHERE-setningen i et SQL-uttrykk uten ordet HVOR. Hvis vilkår utelates, evaluerer DAvg-funksjonenuttr mot hele domenet. Ethvert felt som er inkludert i vilkår, må også være et felt i domene; Hvis ikke returnerer DAvg-funksjonen en Null. |
Merknader
Poster som inneholder nullverdier , tas ikke med i beregningen av gjennomsnittet.
Enten du bruker DAvg-funksjonen i en makro eller modul, i et spørreuttrykk eller i en beregnet kontroll, må du konstruere vilkårsargumentet forsiktig for å sikre at det evalueres riktig.
Du kan bruke DAvg-funksjonen til å angi vilkår i Vilkår-raden i en spørring. Anta for eksempel at du vil vise en liste over alle produkter bestilt i antall over gjennomsnittlig ordreantall. Du kan opprette en spørring i ordrer-, ordredetaljer- og produkttabellene og inkludere Produktnavn- og Antall-feltet, med følgende uttrykk i Vilkår-raden under Antall-feltet:
>DAvg("[Quantity]", "Orders")
Du kan også bruke DAvg-funksjonen i et beregnet feltuttrykk i en spørring eller i Oppdater til-raden i en oppdateringsspørring.
Obs!
Du kan bruke enten DAvg - eller Gjennomsnitt-funksjonen i et beregnet feltuttrykk i en totalverdispørring. Hvis du bruker DAvg-funksjonen , beregnes gjennomsnittet av verdiene før dataene grupperes. Hvis du bruker funksjonen Gjennomsnitt , grupperes dataene før gjennomsnittet beregnes gjennomsnitt av verdier i feltuttrykket.
Bruk DAvg-funksjonen i en beregnet kontroll når du må angi vilkår for å begrense dataområdet der DAvg-funksjonen utføres. Hvis du for eksempel vil vise gjennomsnittlig fraktkostnad for forsendelser som sendes til California, angir du ControlSource-egenskapen for en tekstboks til følgende uttrykk:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Hvis du ganske enkelt vil beregne gjennomsnitt for alle poster i domenet, bruker du Gjennomsnitt-funksjonen .
Du kan bruke DAvg-funksjonen i en modul eller makro eller i en beregnet kontroll i et skjema hvis et felt som du må vise, ikke er i postkilden som skjemaet er basert på. La oss for eksempel si at du har et skjema basert på Ordrer-tabellen, og du vil inkludere Antall-feltet fra Ordredetaljer-tabellen for å vise gjennomsnittlig antall varer som er bestilt av en bestemt kunde. Du kan bruke DAvg-funksjonen til å utføre denne beregningen og vise dataene i skjemaet.
Tips!
- Hvis du bruker DAvg-funksjonen i en beregnet kontroll, vil du kanskje plassere kontrollen i toppteksten eller bunnteksten i skjemaet, slik at verdien for denne kontrollen ikke beregnes på nytt hver gang du flytter til en ny post.
- Hvis datatypen for feltet som uttr er avledet fra, er et tall, returnerer DAvg-funksjonen datatypen Dobbel. Hvis du bruker DAvg-funksjonen i en beregnet kontroll, kan du inkludere en konverteringsfunksjon for datatype i uttrykket for å forbedre ytelsen.
- Selv om du kan bruke DAvg-funksjonen til å bestemme gjennomsnittet av verdier i et felt i en sekundærtabell, kan det være mer effektivt å opprette en spørring som inneholder alle feltene du trenger, og deretter basere skjemaet eller rapporten på denne spørringen.
Obs!
Ulagrede endringer til poster i domene er ikke inkludert når du bruker denne funksjonen. Hvis du vil at DAvg-funksjonen skal være basert på de endrede verdiene, må du først lagre endringene ved å klikke Lagre post under Poster på Data-fanen , som flytter fokus til en annen post, eller ved hjelp av oppdateringsmetoden .
Eksempel
Obs!
I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Funksjonen nedenfor returnerer gjennomsnittlig fraktkostnad for ordrer som er sendt på eller etter en gitt dato. Domenet er en bestillingstabell. Vilkårsargumentet begrenser det resulterende settet med poster basert på angitt land/område og forsendelsesdato. Legg merke til at nøkkelordet AND er inkludert i strengen for å skille de mange feltene i vilkårsargumentet . Alle poster som er inkludert i beregningen av DAvg-funksjonen , har begge disse vilkårene.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function
Bruk følgende kodelinje i øyeblikksvinduet for å kalle funksjonen:
:AvgFreightCost "UK", #1/1/96#