Funkcje DStDev, DStDevP

Za pomocą funkcji DStDev i DStDevP można oszacować odchylenie standardowe dla zestawu wartości w określonym zestawie rekordów ( domena ). Funkcje DStDev i DStDevP można używać w module języka Visual Basic for Applications (VBA), makro, wyrażeniu zapytania lub kontrolka obliczeniowa formularzu lub raporcie.

Aby ocenić populację, należy użyć funkcji DStDevP, a funkcji DStDev do oceny próbki populacji.

Można na przykład użyć funkcji DStDev w module do obliczenia odchylenia standardowego 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ć znaleźć odchylenie standardowe. Może to być wyrażenie tekstowe identyfikujące pole z tabeli lub zapytania albo wyrażenie wykonujące obliczenie danych w tym polu. Wyrażenie może zawierać nazwę pola w tabeli, kontrolkę formularza, 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 ciągu służące do ograniczenia zakresu danych, na którym jest wykonywana funkcja DStDev lub DStDevP. Na przykład kryteria często równoważne klauzuli WHERE w wyrażeniu SQL bez wyrazu WHERE. Jeśli kryteria są pominięte, funkcje DStDev i DStDevPszacowane względem całej domeny. Każde pole uwzględnione 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 makrze, module, wyrażeniu zapytania lub kontrolce obliczeniowej, musisz starannie skonstruować argument kryteriów, aby mieć pewność, ż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 w celu wyświetlenia wszystkich produktów, dla których koszt frachtu wypadł powyżej średniej, oraz odchylenia standardowego dla kosztu frachtu. Wiersz Kryteria poniżej pola Fracht zawiera następujące wyrażenie:

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

Funkcji DStDev i DStDevP można używać w wyrażeniu pola obliczeniowego zapytania lub w wierszu Aktualizacja do zapytanie aktualizujące.

Uwaga: Funkcji DStDev i DStDevP lub StDev i StDevP można użyć w wyrażeniu pola obliczeniowego zapytanie podsumowujące. Jeśli używasz funkcji DStDev lub DStDevP, wartości są obliczane przed zgrupowaniami danych. W przypadku użycia funkcji Odch.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, na którym ta funkcja jest wykonywana. Aby na przykład wyświetlić odchylenie standardowe dla zamówień wysyłanych do Kalifornii, ustaw dla właściwości Źródło Kontrolki pola tekstowego 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 lub StDevP.

Porada    Jeśli typem danych pola, z którego pochodzi wyr. jest liczba, funkcje DStDev i DStDevP zwracają typ danych Double. Jeśli używasz funkcji DStDev lub DStDevP w kontrolce obliczeniowej, dołącz w wyrażeniu funkcję konwersji typu danych, 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 opierała się na zmienionych wartościach, musisz 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

Wyniki

SELECT DStDev("cenaJednostka","ProductSales","cenaj jednostkowa>140") AS Wyr1, DStDevP("cena_jednostkowa";"Cena_produktu";"cena_jednostkowa<140") AS Wyr2 FROM PRODUCTSales GROUP BY DStDev("cenaJednostk";"Cena_produktu";"cena_jednostkowa>140"), DStDevP("cenaJednostk";"Cena_produktu";"cena_jednostkowa<140");

Oblicza odchylenie standardowe wartości "CenaJednościowa" (uwzględniając te dane jako próbkę) z tabeli "TabelaSadowa", gdzie "cenaJednościowa" jest większa niż 140 i wyświetla wynik w wyrażeniu Wyr1. Oblicza również odchylenie standardowe wartości "CenaJednościowa" (przy uwzględnieniu danych jako całej populacji), gdzie "cena jednostkowa" jest mniejsza niż 140 i wyświetla wyniki w wyr2.

SELECT DStDev("cenaJednostka","ProductSales","cenaJednostka>140") AS DstDev, DStDevP("cena_jednostkowa";"Cena_produktu";"cena_jednostkowa<140") AS DstDevP FROM PRODUCTSales GROUP BY DStDev("cenaJednostk";"Cena_produktu";"cena_jednostkowa>140"), DStDevP("cenaJednostk";"Cena_produktu";"cena_jednostkowa<140");

Oblicza odchylenie standardowe wartości "CenaJednostkowa" (uwzględniając te dane jako próbkę) z tabeli "ProductSales", gdzie "cenajjednostka" jest większa niż 140 i wyświetla wynik w komórce DstDev. Oblicza również odchylenie standardowe wartości "CenaJednostka" (przy uwzględnieniu danych jako całej populacji), gdzie "cenajjednostka" jest mniejsza niż 140, i wyświetla wyniki w wartości DstDevP.

Przykład 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 są zwracane oszacowania odchylenia standardowego dla populacji i próbki populacji dla zamówień wysłanych do Zjednoczonego Królestwa. Domena jest tabelą Zamówienia. Argument kryteria ogranicza wynikowy zestaw rekordów do rekordów, dla których wartością RegionKrajuKraju jest Zjednoczone Królestwo.

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 strCountryRegionargumentu kryteria. Zwróć uwagę, że w wyrażeniu ciągu są uwzględniane znaki cudzysłowu pojedynczego ('), dzięki czemu po skoncentrowaniu ciągów literał UK zostanie ujęty w cudzysłów pojedynczy.

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

Potrzebna dalsza pomoc?

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×