U kunt de functies DVar en DVarP gebruiken om de variantie te schatten in een set waarden in een opgegeven set records (een domein). Gebruik de functies DVar en DVarP in een VBA-module (Visual Basic for Applications), een macro, een queryexpressie 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. Het kan een tekenreeksexpressie zijn waarmee een veld uit een tabel of query wordt geïdentificeerd, of het kan een expressie zijn waarmee een berekening wordt uitgevoerd op gegevens in dat veld. In expr kunt u het naamveld opnemen in een tabel, een besturingselement op een formulier, een constante of een functie. Als expr een functie bevat, kan deze zijn ingebouwd of door de gebruiker gedefinieerd, maar niet een andere domeinaggregatie of statistische SQL-functie. Elk veld in expr moet een numeriek veld 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 minder dan twee records voldoen aan criteria, retourneren de functies DVar en DVarP een Null, wat aangeeft dat een variantie niet kan worden berekend.
Of u nu de functie DVar of DVarP gebruikt in een macro, module, query-expressie of berekend besturingselement, u moet het criteriumargument zorgvuldig samenstellen om ervoor te zorgen dat het correct wordt geëvalueerd.
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 van een berekend veld in 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 moet 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 standaarddeviatie voor alle records in het domein wilt vinden, 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
| Expressie | Resultaten |
|---|---|
| SELECT DVar("prijs per eenheid","productVerkoop";"prijs per eenheid>140") ALS DVar_Value, DVarP("prijs per eenheid","productVerkoop","eenheidsprijs<140") AS DVarP_Value VAN productVerkoop GROEP BY DVar("eenheidsprijs","productVerkoop","eenheidsprijs>140"), DVarP("prijs per eenheid","productVerkoop","eenheidsprijs<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 de resulterende set records tot de records waarvoor 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 tekenreeks tussen enkele aanhalingstekens wordt geplaatst.
Dim strCountryRegion As String
Dim dblX As Double
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")