Funkce DAvg

Funkce DAvg slouží k výpočtu průměru množiny hodnot v zadané množině záznamů (Doména). Funkci DAvg lze použít v modulu Visual Basic for Applications (VBA), Makro, výrazu dotazu nebo Vypočítaný ovládací prvek.

Pokud funkci DAvg použijete například v řádku kritérií výběrového dotazu týkajícího se přepravních nákladů, můžete omezit výsledky pouze na záznamy, u kterých jsou přepravní náklady vyšší než průměr. Nebo můžete pomocí výrazu obsahujícího funkci DAvg ve výpočtovém ovládacím prvku zobrazit vedle hodnoty nové objednávky průměrnou hodnotu dřívějších objednávek.

Syntaxe

DAvg(výraz, doména [, kritéria] )

Syntaxe funkce DAvg zahrnuje následující argumenty:

Argument

Popis

výraz

Povinný argument. Výraz označující pole, které obsahuje číselná data, z nichž má být vypočítán průměr. Může se jednat o Řetězcový výraz, který označuje pole v tabulce nebo dotazu, nebo to může být výraz, který provádí výpočet s daty obsaženými v daném poli. Argument výraz může obsahovat název pole v tabulce, ovládací prvek ve formuláři, konstantu nebo funkci. Pokud argument výraz obsahuje funkci, může to být předdefinovaná funkce nebo funkce definovaná uživatelem, nikoli však jiná doménová agregační funkce nebo agregační funkce jazyka SQL.

doména

Povinný argument. Řetězcový výraz označující množinu záznamů, které tvoří doménu. Může se jednat o název tabulky nebo název dotazu, který nepožaduje parametr.

kritéria

Nepovinný argument. Řetězcový výraz sloužící k omezení rozsahu dat, u kterých bude funkce DAvg použita. Argument kritéria je například často ekvivalentem klauzule WHERE ve výrazu jazyka SQL (bez použití slova WHERE). Pokud je argument kritéria vynechán, vyhodnotí funkce DAvg argument výraz ve vztahu k celé doméně. Jakékoli pole, které je součástí argumentu kritéria, musí být také polem v argumentu doména, jinak funkce DAvg vrátí hodnotu Null.


Poznámky

Záznamy, které obsahují hodnoty Null, nejsou do výpočtu průměru zahrnuty.

Bez ohledu na to, zda funkci DAvg použijete v makru či modulu, ve výrazu dotazu nebo ve výpočtovém ovládacím prvku, je nutné vytvořit argument kritéria pečlivě, aby bylo zajištěno její správné vyhodnocení.

Funkce DAvg může sloužit k určení kritérií v řádku kritérií dotazu. Předpokládejme například, že chcete zobrazit seznam všech výrobků, které byly objednány v množství převyšujícím průměr obvykle objednávaného množství. Pomocí následujícího výrazu v řádku kritérií pod polem Quantity (Množství) můžete například vytvořit dotaz u tabulky Orders (Objednávky), Order Details (Detaily objednávky) a Products (Výrobky) a zahrnout pole Product Name (Název výrobku) a Quantity:

>DAvg("[Množství]", "Objednávky")

Funkci DAvg lze použít také ve výrazu výpočtového pole v dotazu nebo v řádku Aktualizovat na Aktualizační dotaz.

Poznámka : Funkci DAvg nebo funkci Avg můžete použít také ve výrazu výpočtového pole v Souhrnný dotaz. Při použití funkce DAvg je průměr hodnot určen před seskupením dat. Při použití funkce Avg jsou data před výpočtem průměru hodnot ve výrazu pole seskupena.

Funkci DAvg použijte ve výpočtovém ovládacím prvku v případě, že potřebujete zadat kritéria pro omezení rozsahu dat, u kterých bude funkce DAvg provedena. Chcete-li například zobrazit průměrné náklady na nákladní dopravu pro dodávky odesílané do Kalifornie, nastavte u vlastnosti .Zdrojovládacíhoprvku textového pole následující výraz:

=DAvg("[Dopravné", "Objednávky", _
"[RegionPříjemce] = 'CA'")

Pokud chcete pouze vypočítat průměrnou hodnotu všech záznamů v argumentu doména, použijte funkci Avg.

Funkci DAvg lze použít v modulu či makru nebo ve výpočtovém ovládacím prvku ve formuláři, pokud se pole, které potřebujete zobrazit, nenachází ve zdroji záznamů, na němž je daný formulář založen. Předpokládejme například, že máte formulář založený na tabulce Orders (Objednávky) a chcete zahrnout pole Quantity (Množství) z tabulky Order Details (Detaily objednávky) za účelem zobrazení průměrného počtu položek objednaných určitým zákazníkem. Chcete-li provést tento výpočet a zobrazit data v daném formuláři, použijte funkci DAvg.

Tipy

  • Pokud použijete funkci DAvg ve výpočtovém ovládacím prvku, může být užitečné umístit daný ovládací prvek v záhlaví nebo zápatí formuláře tak, aby hodnota pro tento ovládací prvek nebyla při každém přechodu na nový záznam přepočítávána.

  • Pokud je pole, ze kterého je odvozen argument výraz, číselné, vrátí funkce DAvg hodnotu typu Datový typ Double. Použijete-li funkci DAvg ve výpočtovém ovládacím prvku, zlepšíte výkon tím, že do výrazu zahrnete funkci pro převod typu dat.

  • Přestože lze průměr hodnot v poli v Cizí tabulka určit pomocí funkce DAvg, bude pravděpodobně efektivnější vytvořit dotaz obsahující všechna potřebná pole a potom vytvořit formulář nebo sestavu založenou na tomto dotazu.

Poznámka : Neuložené změny záznamů v argumentu doména nebudou při použití této funkce zahrnuty. Jestliže chcete, aby byla funkce DAvg založena na změněných hodnotách, je nutné nejdříve změny uložit klepnutím na tlačítko Uložit záznam ve skupinovém rámečku Záznamy na kartě Data, výběrem jiného záznamu nebo pomocí metody Aktualizovat.

Příklad

Poznámka : Následující příklady uvádějí použití této funkce v modulu jazyka Visual Basic for Applications (VBA). Další informace o práci s jazykem VBA získáte tak, že kliknete na položku Referenční informace pro vývojáře v rozevíracím seznamu vedle pole Hledat a do pole pro hledání zadáte jeden nebo více pojmů.

Následující funkce vrátí průměrné přepravní náklady pro objednávky odeslané k danému datu nebo pro objednávky, které budou odeslány po daném datu. Doménou je tabulka Orders (Objednávky). Argument kritéria omezuje výslednou množinu záznamů na základě dané země či oblasti a data odeslání. Všimněte si, že klíčové slovo AND je součástí řetězce a slouží k oddělení více polí v argumentu kritéria. Všechny záznamy zahrnuté do výpočtu funkce DAvg budou obsahovat obě tato kritéria.

Public Function AvgFreightCost _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Double
AvgFreightCost = DAvg("[Dopravné]", "Objednávky", _
"[ZeměPříjemce] = '" & strCountryRegion & _
"'AND [DatumOdeslání] >= #" & dteShipDate & "#")
End Function

Při volání funkce zadejte do podokna hodnot proměnných následující řádek kódu:

:AvgFreightCost "ČR", # 1. 1. 1996#

Sdílení Facebook Facebook Twitter Twitter E-mail E-mail

Byly tyto informace užitečné?

Výborně! Je ještě něco dalšího, co byste nám chtěli dát vědět?

Jak bychom ho mohli vylepšit?

Děkujeme vám za zpětnou vazbu.

×