Funkcija „DAvg“

Primenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkciju DAvg možete da koristite za izračunavanje prosečne vrednosti skupa vrednosti u navedenom skupu zapisa (domenu). Koristite funkciju DAvg u Visual Basic for Applications (VBA) modulu, u makrou, izrazu upita ili u izračunatoj kontroli.

Na primer, možete da koristite funkciju DAvg u redu kriterijuma upita za izdvajanje za troškove prevoza da biste ograničili rezultate na one zapise u kojima trošak prevoza premašuje prosečnu vrednost. Ili možete da koristite izraz koji uključuje funkciju DAvg u izračunatoj kontroli i da prikažete prosečnu vrednost prethodnih porudžbina pored vrednosti novog redosleda.

Sintaksa

DAvg(izraz, domen [, kriterijumi] )

Sintaksa funkcije DAvg ima sledeće argumente:

Argument Opis
expr Obavezno. Izraz koji identifikuje polje koje sadrži numeričke podatke za koje želite da izračunate prosečnu vrednost. To može biti izraz niske koji identifikuje polje u tabeli ili upitu ili može biti izraz koji izvršava izračunavanje podataka u tom polju. U izraz možete da uključite ime polja u tabeli, kontrolu u obrascu, konstantu ili funkciju. Ako expr sadrži funkciju, ona može biti ugrađena ili korisnički definisana, ali ne i agregatna funkcija drugog domena ili SQL agregatna funkcija.
domen Obavezno. Izraz niske koji identifikuje skup zapisa koji čine domen. Može da bude ime tabele ili ime upita za upit koji ne zahteva parametar.
kriterijum Opcionalno. Izraz niske koji se koristi za ograničavanje opsega podataka na kojem se izvršava funkcija DAvg . Na primer, kriterijumi su često jednaki odredbi WHERE u SQL izrazu, bez reči WHERE. Ako je kriterijum izostavljen, funkcija DAvg procenjuje expr u odnosu na ceo domen. Sva polja uključena u kriterijume takođe moraju biti polje u domenu; U suprotnom funkcija DAvg vraća vrednost Null.

    

Napomene

Zapisi koji sadrže prazne vrednosti nisu uključeni u izračunavanje prosečne vrednosti.

Bez obzira na to da li funkciju DAvg koristite u makrou ili modulu, u izrazu upita ili izračunatoj kontroli, morate pažljivo da konstruišete argument kriterijumi da biste se uverili da će biti ispravno izračunat.

Funkciju DAvg možete da koristite da biste naveli kriterijume u redu upita Kriterijumi. Na primer, pretpostavimo da želite da prikažete listu svih proizvoda poručenih u količinama iznad prosečne količine porudžbine. Možete da kreirate upit u tabelama "Porudžbine", "Detalji porudžbine" i "Proizvodi" i uključite polje "Ime proizvoda" i polje "Količina", sa sledećim izrazom u redu Kriterijumi ispod polja Količina:

>DAvg("[Quantity]", "Orders")

Funkciju DAvg možete da koristite i u okviru izraza izračunatog polja u upitu ili u redu Ažuriraj u upita za ažuriranje.

Napomena

Funkciju DAvg iliAvg možete da koristite u izrazu izračunatog polja u upitu zbirova. Ako koristite funkciju DAvg , vrednosti se izračunavaju u proseku pre grupisanja podataka. Ako koristite funkciju Avg , podaci se grupišu pre izračunavanja prosečne vrednosti u izrazu polja.

Funkciju DAvg koristite u izračunatoj kontroli kada treba da navedete kriterijume za ograničavanje opsega podataka na kojem se izvršava funkcija DAvg . Na primer, da biste prikazali prosečnu cenu prevoza za isporuke poslate u Kaliforniju, postavite svojstvo ControlSource okvira za tekst na sledeći izraz:

=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Ako jednostavno želite da izračunate prosek svih zapisa u domenu, koristite funkciju Avg .

Funkciju DAvg možete da koristite u modulu ili makrou ili u izračunatoj kontroli u obrascu ako polje koje treba da prikažete nije u izvoru zapisa na kojem je zasnovan obrazac. Na primer, pretpostavimo da imate obrazac zasnovan na tabeli "Porudžbine" i želite da uključite polje "Količina" iz tabele "Detalji porudžbine" da biste prikazali prosečan broj stavki koje je naručio određeni klijent. Možete da koristite funkciju DAvg da biste izvršili ovo izračunavanje i prikazali podatke u obrascu.

Saveti

  • Ako koristite funkciju DAvg u izračunatoj kontroli, trebalo bi da postavite kontrolu u zaglavlje ili podnožje obrasca tako da se vrednost za ovu kontrolu ne izračunava ponovo svaki put kada se premestite na novi zapis.
  • Ako je tip podataka polja iz kojeg je izraz izveden broj, funkcija DAvg vraća tip podataka Dvostruki. Ako koristite funkciju DAvg u izračunatoj kontroli, u izraz uključite funkciju za konverziju tipa podataka da biste poboljšali performanse.
  • Iako funkciju DAvg možete da koristite da biste odredili prosek vrednosti u polju u sporednoj tabeli, možda je efikasnije da kreirate upit koji sadrži sva polja koja su vam potrebna, a zatim da zasnvate obrazac ili izveštaj na tom upitu.

Napomena

Nesačuvane promene zapisa u domenu nisu uključene kada koristite ovu funkciju. Ako želite da funkcija DAvg bude zasnovana na promenjenim vrednostima, prvo morate da sačuvate promene tako što ćete kliknuti na dugme Sačuvaj zapis u okviru Zapisi na kartici Podaci, premestiti fokus na drugi zapis ili pomoću metoda Ažuriranje.

Primer

Napomena

Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Za više informacija o radu sa VBA modulom izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite termine u polje za pretragu.

Sledeća funkcija vraća prosečnu cenu prevoza za porudžbine isporučene određenog datuma ili posle određenog datuma. Domen je tabela „Porudžbine“. Argument kriterijumi ograničava rezultujući skup zapisa na osnovu date zemlje/regiona i datuma isporuke. Imajte na umu da je ključna reč AND uključena u nisku da biste razdvojili više polja u argumentu kriterijumi . Svi zapisi uključeni u izračunavanje funkcije DAvg imaće oba ova kriterijuma.

Public Function AvgFreightCost _
    (ByVal strCountryRegion As String, _
     ByVal dteShipDate As Date) As Double
    AvgFreightCost = DAvg("[Freight]", "Orders", _
        "[ShipCountryRegion] = '" & strCountryRegion & _
        "'AND [ShippedDate] >= #" & dteShipDate & "#")
End Function

Da biste zvati funkciju, koristite sledeći red koda u prozoru Neposredno:

:AvgFreightCost "UK", #1/1/96#