Funkcji DStDev i DStDevP można użyć do oszacowania odchylenia standardowego w zestawie wartości w określonym zestawie rekordów (domenie). Funkcji DStDev i DStDevP można używać w module języka Visual Basic for Applications (VBA), makrze, wyrażeniu zapytania lub kontrolce obliczeniowej w formularzu lub raporcie.
Użyj funkcji DStDevP do oszacowania populacji i funkcji DStDev do oszacowania próbki populacji.
Można na przykład użyć funkcji DStDev w module, aby obliczyć odchylenie standardowe w zestawie wyników testów uczniów.
Składnia
DStDev(wyrażenie, domena [, kryteria] )
DStDevP(wyrażenie, domena [, kryteria] )
Funkcje DStDev i DStDevP występują w następujących argumentach:
| Argumenty argumentów | Opis |
|---|---|
| wyrażenie | Argument wymagany. Wyrażenie identyfikujące pole liczbowe, w którym ma zostać obliczone odchylenie standardowe. Może to być wyrażenie tekstowe identyfikujące pole z tabeli lub zapytania albo wykonujące obliczenia na danych w tym polu. W wyrażeniu można zawrzeć nazwę pola w tabeli, kontrolkę w formularzu, stałą lub funkcję. Jeśli wyrażenie zawiera funkcję, może to być funkcja wbudowana lub zdefiniowana przez użytkownika, ale z wyłączeniem funkcji agregującej domeny i funkcji agregującej języka SQL. |
| domena | Argument wymagany. Wyrażenie tekstowe identyfikujące zestaw rekordów stanowiący domenę. Może to być nazwa tabeli lub nazwa zapytania, o ile to zapytanie nie wymaga parametru. |
| kryteria | Argument opcjonalny. Wyrażenie tekstowe używane w celu ograniczenia zakresu danych, dla którego wykonywana jest funkcja DStDev lub DStDevP . Na przykład kryteria są często takie same, jak klauzula WHERE w wyrażeniu SQL, z pominięciem wyrazu WHERE. Jeśli kryteria zostaną pominięte, funkcje DStDev i DStDevP ocenią wyrażenie względem całej domeny. Każde pole zawarte w kryteriach musi być również polem w domenie; w przeciwnym razie funkcje DStDev i DStDevP zwrócą wartość Null. |
Spostrzeżenia
Jeśli domena odwołuje się do mniej niż dwóch rekordów lub jeśli mniej niż dwa rekordy spełniają kryteria, funkcje DStDev i DStDevP zwracają wartość Null, co oznacza, że nie można obliczyć odchylenia standardowego.
Niezależnie od tego, czy funkcja DStDev czy DStDevP jest używana w makrze, module, wyrażeniu zapytania lub kontrolce obliczeniowej, należy starannie skonstruować argument kryteria , aby zapewnić jego poprawne obliczenie.
Funkcji DStDev i DStDevP można użyć do określenia kryteriów w wierszu Kryteria kwerendy wybierającej. Można na przykład utworzyć zapytanie w tabelach Zamówienia i Produkty w celu wyświetlenia wszystkich produktów, w przypadku których koszty frachtu przekraczają wartość średniego frachtu powiększoną o standardowe odchylenie. Wiersz Kryteria poniżej pola Fracht będzie zawierać następujące wyrażenie:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Funkcji DStDev i DStDevP można użyć w wyrażeniu pola obliczeniowego kwerendy lub w wierszu Aktualizacja do kwerendy aktualizującej.
Uwaga
W wyrażeniu pola obliczeniowego kwerendy podsumowującej można użyć funkcji DStDev i DStDevP lub funkcji StDevP lub funkcji StDevP lub W przypadku korzystania z funkcji DStDev lub DStDevP wartości są obliczane przed zgrupowaniem danych. W przypadku użycia funkcji StDev lub StDevP dane są grupowane przed oszacowaniem wartości w wyrażeniu pola.
Funkcji DStDev i DStDevP należy używać w kontrolce obliczeniowej, gdy trzeba określić kryteria ograniczające zakres danych, dla którego ta funkcja ma być wykonywana. Aby na przykład wyświetlić odchylenie standardowe dla zamówień wysyłanych do Krakowa, należy ustawić następujące wyrażenie jako właściwość ŹródłoKontrolki pola tekstowego:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Aby ustalić odchylenie standardowe we wszystkich rekordach w domenie, należy użyć funkcji StDev lub StDevP .
Porada Jeśli typem danych pola, z którego pochodzi wyrażenie, jest liczba, funkcje DStDev i DStDevP zwracają typ danych Double. Jeśli w kontrolce obliczeniowej jest używana funkcja DStDev lub DStDevP, należy uwzględnić w wyrażeniu funkcję konwersji typu danych w celu zwiększenia wydajności.
Uwaga
Niezapisane zmiany wprowadzone w rekordach domeny nie są uwzględniane podczas używania tych funkcji. Jeśli chcesz, aby funkcja DStDev lub DStDevP działała w oparciu o zmienione wartości, musisz najpierw zapisać zmiany, klikając przycisk Zapisz rekord w obszarze Rekordy na karcie Dane , przenosząc fokus na inny rekord lub używając metody aktualizacji .
Przykłady kwerend
| Wyrażenie | Rezultat |
|---|---|
| SELECT DStDev("unitprice","productSales","unitprice>140") AS Expr1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); | Oblicza odchylenie standardowe wartości "CenaJednostkowa" (traktując dane jako próbkę) z tabeli "SprzedażProduktów", gdzie "cena_jednostkowa" jest większa niż 140, a następnie wyświetla wynik w Wyr1. Oblicza również odchylenie standardowe wartości "CenaJednostkowa" (traktując podane dane jako całą populację), gdzie "cena_jednostkowa" jest mniejsza niż 140, i wyświetla wyniki w Wyr2. |
| SELECT DStDev("cenajednostkowa","productSales","cenajednostkowa>140") AS DstDev, DStDevP("cenajednostkowa","productSales","cenajednostkowa<140") AS DstDevP FROM productSales GROUP BY DStDev("cenajednostkowa","productSales","cenajednostkowa>140"), DStDevP("cenajednostkowa","productSales","cenajednostkowa<140"); | Oblicza odchylenie standardowe wartości "CenaJednostkowa" (traktując dane jako próbkę) z tabeli "SprzedażProduktów", gdzie "cena_jednostkowa" jest większa niż 140, i wyświetla wynik w odchyleniach DstDev. Oblicza również odchylenie standardowe wartości "Cena_jednostkowa" (traktując podane dane jako całą populację), gdzie "cena_jednostkowa" jest mniejsza niż 140, i wyświetla wyniki w funkcji DstDevP. |
Przykład kodu VBA
Uwaga
Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.
W poniższym przykładzie zwracane są szacunkowe odchylenia standardowe dla populacji oraz próbka populacji dla zamówień wysłanych do Wielkiej Brytanii. Domeną jest tabela Zamówienia. Argument kryteria ogranicza zestaw rekordów do rekordów, dla których wartość pola KrajOdbiorcy ma wartość 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'")
W następnym przykładzie te same szacunki są obliczane przy użyciu zmiennej strCountryRegion, w argumencie kryteria . Zwróć uwagę, że pojedyncze cudzysłowy (') są zawarte w wyrażeniu ciągu, więc po połączeniu ciągów literał UK ciągu zostanie ujęty w pojedyncze cudzysłowy.
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 & "'")