Funkcje DVar, DVarP

Dotyczy
Access dla Microsoft 365 Access 2021 Access 2019 Access 2016

Za pomocą funkcji DVar i DVarP można oszacować wariancję w zbiorze wartości w określonym zestawie rekordów (domeny). Używaj funkcji DVar i DVarP w module Visual Basic for Applications (VBA), makrze, wyrażeniu zapytania lub kontrolce obliczeniowej w formularzu lub raporcie.

Funkcja DVarP służy do oceny wariancji w populacji i funkcji DVar w celu oceny wariancji w próbce populacji.

Za pomocą funkcji DVar można na przykład obliczyć wariancję w zbiorze wyników testów uczniów.

Składnia

DVar(wyr., domena [, kryteria] )

DVarP(wyr., domena [, kryteria] )

Funkcje DVar i DVarP mają następujące argumenty:

Argument Opis
wyrażenie Argument wymagany. Wyrażenie identyfikujące pole liczbowe, dla którego chcesz znaleźć wariancję. 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ć pole nazwy do 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. Każde pole zawarte w wyr . musi być polem liczbowym.
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 DVar lub DVarP . 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 DVar i DVarPbę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 DVar i DVarP zwracają 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 DVar i DVarP zwracają wartość Null, co oznacza, że nie można obliczyć wariancji.

Niezależnie od tego, czy używasz funkcji DVar , czy DVarP w makrze, module, wyrażeniu zapytania lub kontrolce obliczeniowej, musisz starannie skonstruować argument kryteria , aby upewnić się, że zostanie on poprawnie oceniony.

Za pomocą funkcji DVar i DVarP można określić kryteria w wierszu Kryteria zapytania wybierającego, w wyrażeniu pola obliczeniowego w zapytaniu lub w wierszu Aktualizacja do zapytania aktualizującego.

Uwaga

W zapytaniu podsumowującym można używać funkcji DVar i DVarP lub funkcji Var i VarP w wyrażeniu pola obliczeniowego. Jeśli używasz funkcji DVar lub DVarP , wartości są obliczane przed zgrupowanymi danymi. Jeśli używasz funkcji Wariancja lub Wariancja,dane są grupowane przed obliczeniem wartości w wyrażeniu pola.

Użyj funkcji DVar i DVarP w kontrolce obliczeniowej, gdy musisz określić kryteria , aby ograniczyć zakres danych, dla którego ta funkcja jest wykonywana. Aby na przykład wyświetlić wariancję zamówień wysłanych do Kalifornii, ustaw właściwość ŹródłoKontrolki pola tekstowego na następujące wyrażenie:

=DVar("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Jeśli chcesz po prostu znaleźć odchylenie standardowe dla wszystkich rekordów w domenie, użyj funkcji Var lub VarP .

Uwaga

Niezapisane zmiany rekordów w domenie nie są uwzględniane podczas korzystania z tych funkcji. Jeśli funkcja DVar lub DVarP ma być 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ład kwerendy

Wyrażenie Rezultat
SELECT DVar("unitprice","productSales","unitprice>140") AS DVar_Value, DVarP("unitprice","productSales","unitprice<140") AS DVarP_Value FROM productSales GROUP BY DVar("unitprice","productSales","unitprice>140"), DVarP("unitprice","productSales","unitprice<140"); Oblicza wariancję wartości "CenaJednastkowa" z tabeli "ProductSales", gdzie wartość "cenajedna" jest większa niż 140, i wyświetla wynik w DVar_Value. Oblicza również wariancję wartości "CenaJednastkowa" (biorąc pod uwagę dane jako całą populację), gdzie "cena jednostkowa" jest mniejsza niż 140 i wyświetla wyniki w DVarP_Value.

Przykłady 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 szacunkową wariancję 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 rekordów, dla których WartośćOdbiorcy Jest równa Uk.

Dim dblX As Double
Dim dblY As Double
' Sample estimate.
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
' Population estimate.
dblY = DVarP("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

W następnym przykładzie wartości szacunkowe są zwracane 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
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")