Funkcje DVar, DVarP

Dotyczy
Access dla Microsoft 365 Access 2021 Access 2019 Access 2016

Funkcji DVar i DVarP można użyć do oszacowania wariancji w zestawie wartości w określonym zestawie rekordów (domenie). Funkcji DVar i DVarP można używać w module języka 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, a funkcja DVar służy do oceny wariancji w próbce populacji.

Można na przykład użyć funkcji DVar do obliczenia wariancji w zestawie wyników testów uczniów.

Składnia

DVar(wyrażenie, domena [, kryteria] )

DVarP(wyrażenie, domena [, kryteria] )

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

Argumenty argumentów Opis
wyrażenie Argument wymagany. Wyrażenie identyfikujące pole liczbowe, dla którego ma zostać obliczona wariancja. 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 umieścić pole nazwy w tabeli, kontrolce w formularzu, stałej lub funkcji. 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. Każde pole zawarte w wyrażeniu 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 tekstowe używane w celu ograniczenia zakresu danych, dla którego wykonywana jest funkcja DVar lub DVarP . 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 DVar i DVarP 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 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 funkcja DVar czy DVarP jest używana w makrze, module, wyrażeniu zapytania czy kontrolce obliczeniowej, należy starannie skonstruować argument kryteria , aby zapewnić jego poprawne obliczenie.

Funkcji DVar i DVarP można używać do określania kryteriów w wierszu Kryteria kwerendy wybierającej, w wyrażeniu pola obliczeniowego w kwerendzie lub w wierszu Aktualizacja do kwerendy aktualizującej.

Uwaga

W wyrażeniu pola obliczeniowego w kwerendzie podsumowującej można użyć funkcji DVar i DVarP lub funkcji WARIANCJA i WARIANCJA.POPUL . W przypadku korzystania z funkcji DVar lub DVarP wartości są obliczane przed zgrupowaniem danych. W przypadku użycia funkcji WARIANCJA lub WARIANCJA.POP dane są grupowane przed obliczeniem wartości w wyrażeniu pola.

Funkcji DVar i DVarP należy używać w kontrolce obliczeniowej, gdy jest konieczne określenie kryteriów ograniczających zakres danych, na których ta funkcja jest wykonywana. Aby na przykład wyświetlić odchylenie dla zamówień wysyłanych do Krakowa, należy ustawić następujące wyrażenie jako właściwość ŹródłoKontrolki pola tekstowego:

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

Aby łatwo znaleźć odchylenie standardowe we wszystkich rekordach w domenie, należy użyć funkcji Wariancja lub Wariancja.P .

Uwaga

Niezapisane zmiany wprowadzone w rekordach domeny nie są uwzględniane podczas używania tych funkcji. Jeśli chcesz, aby funkcja DVar lub DVarP była oparta na zmienionych wartościach, 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ład zapytania

Wyrażenie Rezultat
SELECT DVar("cena_jednostkowa","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 "CenaJednostkowa" z tabeli "SprzedażProduktów", gdzie wartość "CenaJednostkowa" jest większa niż 140, i wyświetla wynik w DVar_Value. Oblicza również wariancję wartości "CenaJednostkowa" (traktując dane jako całą populację), gdzie "cena_jednostkowa" jest mniejsza niż 140, i wyświetla wyniki w DVarP_Value.

Przykłady 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 zwracana jest szacowana wariancja dla populacji oraz próbka populacji dla zamówień wysłanych do Zjednoczonego Królestwa. Domeną jest tabela Zamówienia. Argument kryteria ogranicza zestaw rekordów do rekordów, dla których wartość argumentu KrajOdbiorcy równa się Zjednoczonemu Królestwu.

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 zwrócono oszacowania 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
strCountryRegion = "UK"
dblX = DVar("[Freight]", "Orders", _
    "[ShipCountryRegion] = '" & strCountryRegion & "'")