Funkciu DAvg môžete použiť na výpočet priemeru množiny hodnôt v zadanej množine záznamov (doména). Funkcia DAvg sa dá použiť v týchto objektoch: modul jazyka Visual Basic for Applications (VBA), makro, výraz dotazu alebo vypočítavaný ovládací prvok.
Funkciu DAvg môžete napríklad použiť v riadku kritérií dotazu select na prepravné náklady, náklady a obmedziť výsledky na tie záznamy, kedy prepravné náklady presahujú priemer. Alebo môžete použiť výraz vrátane funkcie DAvg vo vypočítavanom ovládacom prvku a zobraziť priemernú hodnotu predchádzajúcich objednávok vedľa hodnoty novej objednávky.
Syntax
DAvg ( výraz , doména [, kritériá] )
Syntax funkcie DAvg má tieto argumenty:
Argument |
Popis |
výraz |
Povinný argument. Výraz určujúci pole s číselnými údajmi, ktorého hodnoty chcete spriemerovať. Môže to byť napríklad reťazcový výraz, ktorý určí pole v tabuľke alebo v dotaze, alebo to môže byť výraz, ktorý vykoná výpočet s údajmi v poli. Do argumentu výraz môžete zahrnúť názov poľa v tabuľke, ovládací prvok vo formulári, konštantu alebo funkciu. Ak argument výraz zahŕňa funkciu, môže to byť vstavaná alebo používateľom definovaná funkcia, ale nie agregačná funkcia inej domény alebo agregačná funkcia SQL. |
doména |
Povinný argument. Výraz reťazca určujúci množinu záznamov, ktoré vytvárajú doménu. Môže to byť názov tabuľky alebo názov pre dotaz, ktorý nevyžaduje parameter. |
kritériá |
Voliteľný argument. Výraz reťazca slúžiaci na obmedzenie rozsahu údajov, ktoré spracuje funkcia DAvg. Argument kritériá napríklad často zodpovedá klauzule WHERE vo výraze SQL, ale bez slova WHERE. Ak sa argument kritériá vynechá, funkcia DAvg vyhodnotí argument výraz voči celej doméne. Každé pole zahrnuté do argumentu kritériá musí byť aj poľom v argumente doména, v opačnom prípade funkcia DAvg vráti hodnotu Null. |
Poznámky
Záznamy obsahujúce hodnoty Null nie sú zahrnuté vo výpočte priemeru.
Bez ohľadu na to, či funkciu DAvg použijete v makre, v module, vo výraze dotazu alebo vo vypočítavanom ovládacom prvku, argument kritériá je nutné zostaviť pozorne, aby sa zabezpečilo jeho správne vyhodnotenie.
Funkciu DAvg môžete použiť na zadanie kritérií v riadku kritérií dotazu. Povedzme napríklad, že chcete zobraziť zoznam všetkých produktov, ktoré boli objednané v množstvách vyšších než priemerné množstvo objednávok. Môžete vytvoriť dotaz na tabuľky Objednávky, Podrobnosti objednávky a Produkty a zahrnúť polia Názov produktu a Množstvo pomocou nasledujúceho výrazu v riadku kritérií pod poľom Množstvo:
>DAvg("[Quantity]", "Orders")
Funkciu DAvg môžete použiť aj vo výraze vypočítavaného poľa v dotaze alebo v riadku Aktualizovať do v aktualizačný dotaz.
Poznámka: Funkciu DAvg alebo Avg môžete použiť vo výraze vypočítavaného poľa v súhrnný dotaz. Ak používate funkciu DAvg , pred zoskupením údajov sa vypočíta priemer hodnôt. Ak používate funkciu Avg , údaje sa zoskupia pred vypočítaním priemeru hodnôt vo výraze poľa.
Funkciu DAvg použite vo vypočítavanom ovládacom prvku v prípade, ak potrebujete určiť kritériá na obmedzenie rozsahu údajov, v ktorom sa má funkcia DAvg použiť. Ak chcete napríklad zobraziť priemerné prepravné náklady pre dodávky do Kalifornie, nastavte vlastnosť textového poľa ControlSource na nasledujúci výraz:
=DAvg("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Ak chcete len spriemerovať všetky záznamy v doméne, použite funkciu Avg.
Funkciu DAvg môžete tiež použiť v module, makre alebo vo vypočítavanom ovládacom prvku vo formulári, ak sa pole, ktoré potrebujete zobraziť, nenachádza v zdroji záznamov, na ktorom je založený formulár. Predpokladajme napríklad, že máte formulár založený na tabuľke Objednávky a chcete zahrnúť pole Množstvo z tabuľky Podrobnosti objednávky s cieľom zobraziť priemerný počet objednaných položiek konkrétneho zákazníka. Funkciu DAvg môžete použiť na vykonanie tohto výpočtu a zobrazenie údajov vo formulári.
Tipy
-
Ak používate funkciu DAvg vo vypočítavanom ovládacom prvku, môžete chcieť umiestniť daný ovládací prvok do hlavičky alebo päty formulára tak, že hodnota tohto ovládacieho prvku sa neprepočítava pri každom prechode na nový záznam.
-
Ak typ údajov poľa, z ktorého je odvodený výraz, je číslo, funkcia DAvg vráti hodnotu s typom údajov Double. Ak používate funkciu DAvg vo vypočítavanom ovládacom prvku, zahrňte na zvýšenie výkonu do výrazu funkciu konverzie typu údajov.
-
Napriek tomu, že funkciu DAvg môžete použiť na určenie priemeru hodnôt v poli v cudzia tabuľka, môže byť efektívnejšie vytvoriť dotaz obsahujúci všetky potrebné polia a potom založiť formulár alebo zostavu na danom dotaze.
Poznámka: Pri použití tejto funkcie sa do spracovania nezahrnú neuložené zmeny v záznamoch v doméne. Ak chcete , aby bola funkcia DAvg založená na zmenených hodnotách, je najprv nutné tieto zmeny uložiť tak, že na karte Údaje v časti Záznamy kliknete na položku Uložiť záznam, presuniete zameranie na iný záznam alebo použijete metódu Update.
Príklad
Poznámka: Nasledujúce príklady ukazujú použitie tejto funkcie v module jazyka Visual Basic for Applications (VBA). Ak chcete získať ďalšie informácie o práci s jazykom VBA, vyberte z rozbaľovacieho zoznamu vedľa položky Hľadať možnosť Odkaz pre vývojára a do vyhľadávacieho poľa zadajte nejaké výrazy.
Nasledujúca funkcia vráti priemerné prepravné náklady pre objednávky dodané v daný deň alebo po ňom. Doménou je tabuľka Objednávky. Argument kritériá obmedzuje výslednú množinu záznamov na základe danej krajiny alebo oblasti a dátumu odoslania. Všimnite si, že kľúčové slovo AND v reťazci oddeľuje viaceré polia v argumente kritérií. Všetky záznamy, ktoré sú súčasťou výpočtu funkcie DAvg, budú mať obidve tieto kritériá.
Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _ ByVal dteShipDate As Date) As Double AvgFreightCost = DAvg("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & _ "'AND [ShippedDate] >= #" & dteShipDate & "#") End Function
Na zavolanie danej funkcie použite nasledujúci riadok kódu v okne Okamžité:
:AvgFreightCost "UK", #1/1/96#