Funktionerna DStDev och DStDevP

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan använda funktionerna DStdAv och DStdAvP för att uppskatta standardavvikelsen för en uppsättning värden i en angiven uppsättning poster (en domän). Använd funktionerna DStdAv och DStdAvP i en VBA-modul (Visual Basic for Applications), ett makro, ett frågeuttryck eller en beräknad kontroll i ett formulär eller en rapport.

Använd funktionenDStdAvP om du vill beräkna en population och funktionen DStdAv om du vill beräkna ett stickprov av en population.

Du kan till exempel använda funktionen DStdAv om du vill beräkna standardavvikelsen i testresultat för en uppsättning elever.

Syntax

DStdAv(uttr, domän [, villkor] )

DStdAvP(uttr, domän [, villkor] )

Funktionerna DStdAv och DStdAvP har följande argument:

Argument Beskrivning
uttr Obligatoriskt. Ett uttryck som identifierar det numeriska fält du vill hitta standardavvikelsen för. Det kan vara ett stränguttryck som identifierar ett fält från en tabell eller fråga, eller ett uttryck som utför en beräkning på data i fältet. I uttr kan du ta med namnet på ett fält i en tabell, en kontroll i ett formulär, en konstant eller en funktion. Om uttr innehåller en funktion kan den vara antingen inbyggd eller användardefinierad, men inte någon annan mängdfunktion för domäner eller SQL-mängdfunktioner.
domän Obligatoriskt. Ett stränguttryck där du identifierar den uppsättning poster som utgör domänen. Det kan vara ett tabellnamn eller ett frågenamn för en fråga som inte kräver någon parameter.
villkor Valfritt. Ett stränguttryck som används för att begränsa det dataintervall som DStdAv eller DStdAvP körs på. Villkor motsvarar till exempel ofta WHERE-satsen i ett SQL-uttryck, utan ordet WHERE. Om villkor utelämnas utvärderar funktionerna DStdAv och DStdAvPuttr mot hela domänen. Alla fält som ingår i villkor måste också vara ett fält i domänen. Annars returnerar funktionerna DStdAv och DStdAvP null.

Kommentarer

Om domän refererar till färre än två poster eller om färre än två poster uppfyller villkor returnerar funktionerna DStdAv och DStdAvPnull, vilket anger att en standardavvikelse inte kan beräknas.

Oavsett om du använder funktionen DStdAv eller DStdAvP i ett makro, en modul, ett frågeuttryck eller en beräknad kontroll måste du noggrant skapa argumentet villkor för att säkerställa att det utvärderas korrekt.

Du kan använda funktionerna DStdAv och DStdAvP för att ange villkor i raden Villkor i en viss fråga. Du kan till exempel skapa en fråga för en ordertabell och en produkttabell för att visa alla produkter som hamnar över eller under medelvärdet plus standardavvikelsen för fraktkostnader. Raden Villkor under fältet Frakt ska innehålla följande uttryck:

>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))

Du kan använda funktionerna DStdAv och DStdAvP i ett beräknat fältuttryck för en fråga eller på raden Uppdatera till i en uppdateringsfråga.

Obs

Du kan använda funktionerna DStdAv och DStdAvP eller Funktionerna StdAv och StdAvP i ett beräknat fältuttryck för en summafråga. Om du använder funktionen DStdAv eller DStdAvP beräknas värdena innan data grupperas. Om du använder funktionen StdAv eller StdAvP grupperas data innan värdena i fältuttrycket beräknas.

Använd funktionen DStdAv och DStdAvP i en beräknad kontroll när du behöver ange villkor för att begränsa det dataområde som funktionen utförs på. Om du till exempel vill visa en standardavvikelse för order som levereras till Kalifornien anger du egenskapen Kontrollkälla för en textruta till följande uttryck:

=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Om du bara vill hitta standardavvikelsen för alla poster i domänen använder du funktionen StdAv eller StdAvP .

Tips Om datatypen för det fält som uttr härleds från är ett tal returnerar funktionerna DStdAv och DStdAvP datatypen Double. Om du använder funktionen DStdAv eller DStdAvP i en beräknad kontroll, ska du ta med en funktion för konvertering av datatyper i uttrycket för att förbättra prestanda.

Obs

Ej sparade ändringar av poster i domän tas inte med när du använder de här funktionerna. Om du vill att funktionen DStdAv eller DStdAvP ska baseras på ändrade värden, måste du först spara ändringarna genom att klicka på Spara post under Poster på fliken Data och flytta fokus till en annan post, eller använda metoden Uppdatera.

Frågeexempel

Uttryck Resultat
SELECT DStdAv("unitprice","productSales","unitprice>140") AS Uttr1, DStdAvP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Beräknar standardavvikelsen för "Enhetspris" (med hänsyn till angivna data som exempel) från tabellen "Produktförsäljning" där "enhetspris" är större än 140 och visar resultatet i Uttr1. Beräknar också standardavvikelsen för "Enhetspris" (med tanke på givna data som hela populationen) där "enhetspris" är mindre än 140 och visar resultatet i Uttr2.
SELECT DStdAv("unitprice","productSales","unitprice>140") AS DstdAv, DStdAvP("unitprice","productSales","unitprice<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Beräknar standardavvikelsen för "Enhetspris" (eftersom te-angivna data är exempel) från tabellen "Produktförsäljning" där "enhetspris" är större än 140 och visar resultatet i DstdAv. Beräknar också standardavvikelsen för "Enhetspris" (med hänsyn till givna data som hela populationen) där "enhetspris" är mindre än 140 och visar resultatet i DstdAvP.

VBA-exempel

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I följande exempel returneras den uppskattade standardavvikelsen för en population och ett stickprov ur en population för order som levereras till Storbritannien. Domänen är tabellen Orders. Argumentet villkor begränsar den resulterande uppsättningen poster till de poster för vilka ShipCountryRegion-värdet är UK.

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DStDev("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DStDevP("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

I nästa exempel beräknas samma uppskattningar med hjälp av en variabel, strCountryRegioni argumentet villkor . Observera att enkla citattecken (') tas med i stränguttrycket, så att stränglitteralen UK omges av enkla citattecken när strängarna sammanfogas.

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 & "'")