Du kan använda funktionerna DStdAv och DStdAvP för att uppskatta standardavvikelsen i 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(uttryck, 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 där du identifierar ett fält i en tabell eller en fråga, eller ett uttryck där du 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 en SQL-mängdfunktion. |
| 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ärderas uttr i funktionerna DStdAv och DStdAvP mot hela domänen. Alla fält som ingår i villkor måste också vara ett fält i domän. I annat fall returnerar funktionerna DStdAv och DStdAvP ett Null-värde. |
Kommentarer
Om domän refererar till färre än två poster eller om färre än två poster uppfyller villkoren returnerar DStdAv och DStdAvPNull, vilket innebär 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 vara noga när du skapar villkorsargumentet så att det utvärderas på rätt sätt.
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 i en fråga eller i raden Ändra till i en uppdateringsfråga.
Obs
Du kan använda funktionerna DStdAv och DStdAvP eller StdAv och StdAvP i ett beräknat fältuttryck i 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än använder du funktionen Stdav eller StdAvP .
Tips Om datatypen för det fält som uttr kommer från härleds är ett tal, returnerar 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.
Exempel på frågor
| Uttryck | Resultat |
|---|---|
| SELECT DStDev("enhetspris","produktförsäljning","enhetspris>140") AS Uttr1, DStdAvP("enhetspris","produktförsäljning","enhetspris<140") AS uttr2 FROM productSales GROUP BY DStDev("enhetspris","produktförsäljning","enhetspris>140"), DStdAvP("enhetspris","produktförsäljning","enhetspris<140"); | Beräknar standardavvikelsen för "Enhetspris" (med givna data som urval) från tabellen "Produktförsäljning", där "Enhetspris" är större än 140 och visar resultatet i Uttr1. Beräknar även standardavvikelsen för "Enhetspris" (med beaktande av givna data som hela populationen), där "enhetspris" är mindre än 140 och visar resultatet i Uttr2. |
| SELECT DStDev("unitprice","productSales","unitprice>140") AS DstDev, DStDevP("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" (med givna data som exempel) från tabellen "Produktförsäljning", där "Enhetspris" är större än 140 och visar resultatet i Dstdav. Beräknar även standardavvikelsen för "Enhetspris" (med hänsyn tagen 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. Villkorsargumentet begränsar den resulterande uppsättningen poster till de poster där ShipCountryRegion ä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, strCountryRegion, i villkorsargumentet . Observera att enkla citattecken (') tas med i stränguttryck, 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 & "'")