Du kan använda funktionerna DStdAv och DStdAvP för att uppskatta standardavvikelsen i en uppsättning värden i en given uppsättning poster (en domän). Använd funktionerna DStdAv och DStdAvP i en VBA-modul (Visual Basic for Applications), en 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 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 det vara en inbyggd eller användardefinierad funktion, 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å. Till exempel motsvarar villkor ofta WHERE-villkoret i ett SQL-uttryck, utan ordet WHERE. Om villkor utelämnas, utvärderas uttr mot hela domänen av funktionerna DStdAv och DStdAvP. Alla fält som finns i villkor måste också vara fält i domän – annars returneras ett null-värde av DStdAv och DStdAvP. |
Anmärkningar
Om domän refererar till färre än två poster eller om färre än två poster uppfyller villkor returnerar funktionerna DStdAv och DStdAvP ett Null-värde, som 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 vara noga när du skapar argumentet villkor 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.
Frågeexempel
Uttryck |
Resultat |
SELECT DStdAv("unitprice","productSales","unitprice>140") AS Uttr1, DStdAvP("unitprice","productSales","unitprice<140") AS Uttr2 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 DstDev, 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 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 räknas samma uppskattningar ut med en variabel, strCountryRegion, i argumentet villkor. 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 & "'")