DStDev, DStDevP, functies
Van toepassing op
U kunt de functies DStDev en DStDevP gebruiken om de standaarddeviatie te schatten voor een set waarden in een opgegeven set records (een domein). Gebruik de functies DStDev en DStDevP in een VBA-module (Visual Basic for Applications), een macro, een query-expressie of een berekend besturingselement in een formulier of rapport.
Gebruik StDevP om een populatie te evalueren en StDev om een steekproef van een populatie te evalueren.
U kunt de functie DStDev bijvoorbeeld gebruiken in een module om de standaarddeviatie te berekenen voor een reeks tentamencijfers van studenten.
Syntaxis
DStDev(expr, domein [, criteria] )
DStDevP(expr, domein [, criteria] )
De functies DStDev en DStDevP hebben de volgende argumenten:
| Argument | Beschrijving |
|---|---|
| expr | Vereist. Een expressie die het numerieke veld aangeeft waarvoor u de standaarddeviatie 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 de naam van een veld in een tabel, een besturingselement op een formulier, een constante of een functie opnemen. Als expr een functie bevat, kan deze zijn ingebouwd of door de gebruiker gedefinieerd, maar niet een andere domeinaggregatie of statistische SQL-functie. |
| 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 DStDev of DStDevP 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 DStDev en DStDevPexpr 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 DStDev en DStDevP een Null. |
Opmerkingen
Als domein verwijst naar minder dan twee records of als minder dan twee records voldoen aan criteria, retourneren de functies DStDev en DStDevP een Null, wat aangeeft dat een standaarddeviatie niet kan worden berekend.
Of u nu de functie DStDev of DStDevP 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 functies DStDev en DStDevP gebruiken om criteria op te geven in de criteriarij van een selectiequery. U kunt bijvoorbeeld een query maken op een tabel Orders en een tabel Producten om alle producten weer te geven waarvan de vrachtkosten hoger zijn dan het gemiddelde plus de standaarddeviatie voor vrachtkosten. De criteriarij onder het veld voor de vrachtkosten (Freight) moet dan de volgende expressie bevatten:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
U kunt de functies DStDev en DStDevP gebruiken in een berekende veldexpressie van een query of in de rij Bijwerken naar van een updatequery.
Opmerking
U kunt de functies DStDev en DStDevP of de functies StDev en StDevP gebruiken in een berekende veldexpressie van een totalenquery. Als u de functie DStDev of DStDevP gebruikt, worden waarden geëvalueerd voordat de gegevens worden gegroepeerd. Als u de functie StDev of StDevP gebruikt, worden de gegevens gegroepeerd voordat de waarden van de veldexpressie worden geëvalueerd.
Gebruik de functies DStDev en DStDevP in een berekend besturingselement wanneer u criteria wilt opgeven om het gegevensbereik te beperken waarop de functie wordt uitgevoerd. Als u bijvoorbeeld de standaarddeviatie wilt weergeven voor orders die moeten worden verzonden naar Californië, stelt u de eigenschap ControlSource van een tekstvak in op de volgende expressie:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Als u alleen de standaarddeviatie voor alle records in het domein wilt vinden, gebruikt u de functie StDev of StDevP .
Tip Als het gegevenstype van het veld waaruit expr is afgeleid een getal is, retourneren de functies DStDev en DStDevP het gegevenstype Double. Als u de functie DStDev of DStDevP gebruikt in een berekend besturingselement, kunt u de prestaties verbeteren door een functie voor conversie van het gegevenstype toe te voegen aan de expressie.
Opmerking
Niet-opgeslagen wijzigingen in records in domein worden niet opgenomen wanneer u deze functies gebruikt. Als u de functie DStDev of DStDevP wilt baseren 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.
Queryvoorbeelden
| Expression | Resultaten |
|---|---|
| SELECT DStDev("eenheidsprijs","productVerkoop","eenheidsprijs>140") AS Expr1, DStDevP("eenheidsprijs","productVerkoop","eenheidsprijs<140") AS Expr2 FROM productVerkoop GROEP BY DStDev("eenheidsprijs","productVerkoop","eenheidsprijs>140"), DStDevP("eenheidsprijs","productVerkoop","eenheidsprijs<140"); | Berekent de standaarddeviatie van 'Prijs per eenheid' (rekening houdend met de gegeven gegevens als voorbeeld) uit de tabel 'ProductVerkoop' waarbij 'prijs per eenheid' groter is dan 140 en het resultaat wordt weergegeven in Expr1. Berekent ook de standaarddeviatie van 'Prijs per eenheid' (waarbij de opgegeven gegevens als volledige populatie worden beschouwd) waarbij 'eenheidsprijs' kleiner is dan 140 en de resultaten worden weergegeven in Expr2. |
| SELECT DStDev("eenheidsprijs","productVerkoop","eenheidsprijs>140") AS DstDev, DStDevP("eenheidsprijs","productVerkoop","eenheidsprijs<140") AS DstDevP FROM productVerkoop GROEP BY DStDev("eenheidsprijs","productVerkoop","eenheidsprijs>140"), DStDevP("eenheidsprijs","productVerkoop","eenheidsprijs<140"); | Berekent de standaarddeviatie van 'Prijs per eenheid' (rekening houdend met de gegeven gegevens als voorbeeld) uit de tabel 'ProductVerkoop' waarbij 'prijs per eenheid' groter is dan 140 en het resultaat wordt weergegeven in DstDev. Berekent ook de standaarddeviatie van 'Eenheidsprijs' (waarbij de opgegeven gegevens als volledige populatie worden beschouwd) waarbij 'eenheidsprijs' kleiner is dan 140 en de resultaten worden weergegeven in DstDevP. |
VBA-voorbeeld
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 standaarddeviatie 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 de waarde ShipCountryRegion UK is.
Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
In het volgende voorbeeld worden dezelfde schattingen berekend 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
Dim dblY As Double
strCountryRegion = "UK"
dblX = DStDev("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")
dblY = DStDevP("[Freight]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & "'")