Za pomocą funkcji DStDev i DStDevP można oszacować odchylenie standardowe w zbiorze wartości w określonym zestawie rekordów (domeny). Funkcje DStDev i DStDevP można używać w module Visual Basic for Applications (VBA), makkra, wyrażeniu zapytania lub kontrolce obliczeniowej w formularzu lub raporcie.
Użyj funkcji DStDevP do oceny populacji i funkcji DStDev w celu oceny próbki populacji.
Można na przykład użyć funkcji DStDev w module, aby obliczyć odchylenie standardowe dla zestawu wyników testów uczniów.
Składnia
DStDev(wyr., domena [, kryteria] )
DStDevP(wyr., domena [, kryteria] )
Funkcje DStDev i DStDevP mają następujące argumenty:
| Argument | Opis |
|---|---|
| wyrażenie | Argument wymagany. Wyrażenie identyfikujące pole liczbowe, dla którego ma zostać odszukane odchylenie standardowe. Może to być wyrażenie ciągu identyfikujące pole z tabeli lub zapytania albo wyrażenie wykonujące obliczenia na danych w tym polu. W wyr. można dołączyć nazwę pola w tabeli, kontrolkę w formularzu, stałą lub funkcję. Jeśli wyrażenie zawiera funkcję, może być wbudowana lub zdefiniowana przez użytkownika, ale nie może być inną funkcją agregacji domeny lub funkcji agregacji 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 ciągu służące do ograniczania zakresu danych, dla którego wykonywana jest funkcja DStDev lub DStDevP . Na przykład kryteria są często równoważne klauzuli WHERE w wyrażeniu SQL bez wyrazu WHERE. Jeśli argument kryteria zostanie pominięty, funkcje DStDev i DStDevP będą oceniać 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 używasz funkcji DStDev , czy DStDevP w makkrach, module, wyrażeniu zapytania lub kontrolce obliczeniowej, musisz starannie skonstruować argument kryteria , aby upewnić się, że zostanie on poprawnie oceniony.
Za pomocą funkcji DStDev i DStDevP można określić kryteria w wierszu Kryteria zapytania wybierającego. Można na przykład utworzyć zapytanie w tabeli Zamówienia i w tabeli Produkty, aby wyświetlić wszystkie produkty, dla których koszt frachtu spadł powyżej średniej oraz odchylenie standardowe kosztu frachtu. 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żywać w wyrażeniu zapytania w polu obliczeniowym lub w wierszu Aktualizacja do kwerendy aktualizującej.
Uwaga
Funkcji DStDev i DStDevP lub funkcji StDev i StDevP można użyć w wyrażeniu pola obliczeniowego zapytania podsumowującego. Jeśli używasz funkcji DStDev lub DStDevP , wartości są obliczane przed zgrupowanymi danymi. Jeśli używasz funkcji StDev lub StDevP , dane są grupowane przed obliczeniem 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 jest wykonywana. Aby na przykład wyświetlić odchylenie standardowe zamówień wysłanych do Kalifornii, ustaw właściwość ŹródłoKontrolki pola tekstowego na następujące wyrażenie:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Jeśli chcesz po prostu znaleźć odchylenie standardowe dla wszystkich rekordów w domenie, użyj funkcji StDev lubStDevP .
Wskazówka Jeśli typ danych pola, z którego pochodzi wyrażenie, jest liczbą, funkcje DStDev i DStDevP zwracają podwójny typ danych. Jeśli używasz funkcji DStDev lub DStDevP w kontrolce obliczeniowej, uwzględnij funkcję konwersji typu danych w wyrażeniu, aby zwiększyć wydajność.
Uwaga
Niezapisane zmiany rekordów w domenie nie są uwzględniane podczas korzystania z tych funkcji. Jeśli chcesz, aby funkcja DStDev lub DStDevP była oparta na zmienionych wartościach, należy najpierw zapisać zmiany, klikając pozycję Zapisz rekord w obszarze Rekordy na karcie Dane , przenosząc fokus do innego rekordu lub używając metody aktualizacji .
Przykłady zapytań
| Wyrażenie | Rezultat |
|---|---|
| SELECT DStDev("unitprice","productSales","unitprice>140") AS Wyr1, DStDevP("unitprice","productSales","unitprice<140") AS Wyr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); | Oblicza odchylenie standardowe wartości "CenaJednostkowa" (biorąc pod uwagę dane te jako próbkę) z tabeli "ProductSales", gdzie "cenajednostkowa" jest większa niż 140 i wyświetla wynik w polu Wyr1. Oblicza również odchylenie standardowe wartości "CenaJednostkowa" (biorąc pod uwagę dane jako całą populację), gdzie "cena jednostkowa" jest mniejsza niż 140 i wyświetla wyniki w polu Wyr2. |
| 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"); | Oblicza odchylenie standardowe wartości "CenaJednostkowa" (biorąc pod uwagę dane te jako próbkę) z tabeli "ProductSales", gdzie "cenajednostkowa" jest większa niż 140 i wyświetla wynik w tabeli DstDev. Oblicza również odchylenie standardowe wartości "CenaJednostkowa" (biorąc pod uwagę dane jako całą populację), gdzie "cenajednostkowa" jest mniejsza niż 140 i wyświetla wyniki w funkcji DstDevP. |
Przykład języka 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 zwrócono szacunkowe odchylenie standardowe dla populacji i próbkę populacji dla zamówień wysłanych do Wielkiej Brytanii. Domena to tabela Zamówienia. Argument kryteria ogranicza wynikowy zestaw rekordów do tych, dla których wartość ShipCountryRegion to 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 oszacowania są obliczane przy użyciu zmiennej strCountryRegionw argumacie kryteria . Zwróć uwagę, że w wyrażeniu ciągu są uwzględniane pojedyncze cudzysłowy ('), dzięki czemu po połączeniu ciągów literał UK będzie ujęty w pojedynczy cudzysłów.
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 & "'")