U kunt de functies DVar en DVarP gebruiken om een schatting te maken van de variantie van een reeks waarden in een opgegeven set records (een domein). Gebruik de functies DVar en DVarP in een Visual Basic for Applications-module (VBA), een macro, een query-expressie of een berekend besturingselement in een formulier of rapport.
Gebruik de functie DVarP om de variantie te evalueren voor een populatie en de functie DVar als u dit wilt doen voor een steekproef van een populatie.
U kunt de functie DVar bijvoorbeeld gebruiken om de variantie te berekenen voor een reeks tentamencijfers van studenten.
Syntaxis
DVar ( expr , domein [, criteria] )
DVarP ( expr , domein [, criteria] )
De functies DVar en DVarP hebben de volgende argumenten:
Argument |
Beschrijving |
expr |
Vereist. Een expressie die het numerieke veld aangeeft waarvoor u de variantie wilt bepalen. Dit kan een reeksexpressie zijn waarmee een veld in een tabel of query wordt aangegeven, of een expressie die een berekening uitvoert op de gegevens in dat veld. In expr kunt u de naam van een veld in een tabel opnemen, een besturingselement van een formulier, een constante of een functie. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet nog een statistische domein- of SQL-functie. Alle velden die u opneemt in expr moeten numerieke velden zijn. |
domein |
Vereist. Een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat. Dit kan de naam van een tabel zijn of de naam van een query waarvoor geen parameter nodig is. |
criteria |
Optioneel. Een tekenreeksexpressie die wordt gebruikt om het bereik van gegevens te beperken waarop de functie DVar of DVarP wordt uitgevoerd. Criteria is bijvoorbeeld vaak gelijk aan de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als criteria worden weggelaten, evalueren de functies DVar en DVarPexpr op basis van het hele domein. Elk veld dat is opgenomen in criteria , moet ook een veld in het domein zijn; anders retourneren de functies DVar en DVarP een Null. |
Opmerkingen
Als domein verwijst naar minder dan twee records of als er minder dan twee records voldoen aan criteria, retourneren DVar en DVarP een Null, waarmee wordt aangegeven dat er geen variantie kan worden berekend.
Of u de functie DVar of DVarP nu gebruikt in een macro, een module, een query-expressie of een berekend besturingselement, u moet de criteria zorgvuldig samenstellen. Alleen dan kan het argument goede resultaten opleveren.
U kunt de functie DVar of DVarP gebruiken om criteria op te geven in de rij Criteria van een selectiequery, in een expressie van een berekend veld in een query of in de rij Wijzigen in van een bijwerkquery.
Opmerking: U kunt de functies DVar en DVarP of de functies Var en VarP gebruiken in een expressie voor een berekend veld van een totalenquery. Als u de functie DVar of DVarP gebruikt, worden waarden geëvalueerd voordat de gegevens worden gegroepeerd. Als u de functie Var of VarP gebruikt, worden de gegevens gegroepeerd voordat de waarden van de veldexpressie worden geëvalueerd.
Gebruik de functies DVar en DVarP in een berekend besturingselement wanneer u criteria wilt opgeven om het gegevensbereik te beperken waarop de functie wordt uitgevoerd. Als u bijvoorbeeld de variantie wilt weergeven voor orders die moeten worden verzonden naar Californië, stelt u de eigenschap ControlSource van een tekstvak in op de volgende expressie:
=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Als u alleen de variantie wilt berekenen voor alle records in domein, gebruikt u de functie Var of VarP.
Opmerking: Niet-opgeslagen wijzigingen in records in domein worden niet opgenomen wanneer u deze functies gebruikt. Als u wilt dat de functie DVar of DVarP is gebaseerd op de gewijzigde waarden, moet u de wijzigingen eerst opslaan door te klikken op Record opslaan onder Records op het tabblad Gegevens , de focus naar een andere record te verplaatsen of door de methode Update te gebruiken.
Queryvoorbeeld
Expression |
Resultaten |
SELECT DVar("eenheidsprijs","productVerkoop";"prijs per eenheid>140") ALS DVar_Value, DVarP("prijs per eenheid","productVerkoop","eenheidsprijs<140") AS DVarP_Value FROM productVerkoop GROEP BY DVar("eenheidsprijs","productVerkoop","prijs per eenheid>140"), DVarP("eenheidsprijs","productVerkoop","prijs per eenheid<140"); |
Berekent de afwijking van 'Prijs per eenheid' uit de tabel 'ProductVerkoop' waarbij 'prijs per eenheid' groter is dan 140 en het resultaat wordt weergegeven in DVar_Value. Berekent ook de variantie van 'Prijs per eenheid' (waarbij de opgegeven gegevens als volledige populatie worden beschouwd) waarbij 'prijs per eenheid' kleiner is dan 140 en de resultaten worden weergegeven in DVarP_Value. |
VBA-voorbeelden
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
Het volgende voorbeeld retourneert schattingen van de variantie voor een populatie en een steekproef van een populatie voor orders die naar het Verenigd Koninkrijk zijn verzonden. Het domein is de tabel Orders. Het argument criteria beperkt het resultaat tot een recordset waarvan ShipCountryRegion gelijk is aan UK.
Dim dblX As Double
Dim dblY As Double ' Sample estimate. dblX = DVar("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'") ' Population estimate. dblY = DVarP("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
In het volgende voorbeeld worden schattingen geretourneerd met behulp van een variabele, strCountryRegion, in het argument criteria . Houd er rekening mee dat enkele aanhalingstekens (') worden opgenomen in de tekenreeksexpressie, zodat wanneer de tekenreeksen worden samengevoegd, de letterlijke UK tussen enkele aanhalingstekens wordt geplaatst.
Dim strCountryRegion As String
Dim dblX As Double strCountryRegion = "UK" dblX = DVar("[Freight]", "Orders", _ "[ShipCountryRegion] = '" & strCountryRegion & "'")