Funcțiile DStDev, DStDevP

Se aplică la
Access pentru Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Puteți utiliza funcțiile DStDev și DStDevP pentru a estima abaterea standard dintr-un set de valori dintr-un set specificat de înregistrări (un domeniu). Utilizați funcțiile DStDev și DStDevP într-un modul Visual Basic for Applications (VBA), o macrocomandă, o expresie de interogare sau un control calculat dintr-un formular sau raport.

Utilizați funcția DStDevP pentru a evalua o populație și funcția DStDev pentru a evalua un eșantion de populație.

De exemplu, puteți utiliza funcția DStDev într-un modul pentru a calcula abaterea standard dintr-un set de punctaje de examen ale elevilor/studenților.

Sintaxă

DStDev(expr, domeniu [, criterii] )

DStDevP(expr, domeniu [, criterii] )

Funcțiile DStDev și DStDevP au următoarele argumente:

Argument Descriere
expr Obligatoriu. O expresie care identifică câmpul numeric după care doriți să găsiți abaterea standard. Aceasta poate fi o expresie șir care identifică un câmp dintr-un tabel sau interogare sau poate fi o expresie care efectuează un calcul pe baza datelor din acel câmp. In expr, puteți include numele unui câmp dintr-un tabel, un control dintr-un formular, o constantă sau o funcție. Dacă expr include o funcție, aceasta poate fi predefinită sau definită de utilizator, dar nu un alt agregat de domeniu sau funcție agregată SQL.
domeniu Obligatoriu. O expresie șir care identifică setul de înregistrări ce constituie domeniul. Poate fi un nume de tabel sau un nume de interogare pentru o interogare care nu necesită un parametru.
criterii Opțional. O expresie șir utilizată pentru a restricționa zona de date pe care se aplică funcția DStDev sau DStDevP . De exemplu, criterii adesea este echivalentă cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. În cazul în care criterii este omis, funcțiile DStDev și DStDevP evaluează expr față de întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu; altfel, funcțiile DStDev și DStDevP vor returna un Nul.

Observații

Dacă domeniul se referă la mai puțin de două înregistrări sau dacă mai puțin de două înregistrări îndeplinesc criteriile, funcțiile DStDev și DStDevP returnează un Nul, indicând faptul că nu se poate calcula o abatere standard.

Indiferent dacă utilizați funcția DStDev sau DStDevP într-o macrocomandă, un modul, o expresie de interogare sau un control calculat, trebuie să construiți cu atenție argumentul criteriilor , pentru a vă asigura că acesta va fi evaluat corect.

Puteți utiliza funcțiile DStDev și DStDevP pentru a specifica criteriile în rândul Criterii al unei interogări de selectare. De exemplu, puteți crea o interogare pentru un tabel Comenzi și un tabel Produse pentru a afișa toate produsele pentru care costul transportului a scăzut peste medie plus abaterea standard pentru costul transportului. Rândul Criterii de sub câmpul Transport ar conține următoarea expresie:

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

Puteți utiliza funcțiile DStDev și DStDevP într-o expresie de câmp calculat a unei interogări sau în rândul Actualizare la dintr-o interogare de actualizare.

Notă

Puteți utiliza funcțiile DStDev și DStDevP sau funcțiile StDev și StDevP într-o expresie de câmp calculat a unei interogări de totaluri. Dacă utilizați funcția DStDev sau DStDevP , valorile sunt calculate înainte de gruparea datelor. Dacă utilizați funcția StDev sau StDevP , datele sunt grupate înainte de evaluarea valorilor din expresia câmp.

Utilizați funcțiile DStDev și DStDevP într-un control calculat atunci când trebuie să specificați criterii pentru a restricționa zona de date pe care se aplică funcția. De exemplu, pentru a afișa abaterea standard pentru comenzile care urmează să fie expediate în California, setați proprietatea Sursă control a unei casete text la următoarea expresie:

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

Dacă doriți pur și simplu să găsiți abaterea standard în toate înregistrările din domeniu, utilizați funcția StDev sau StDevP .

Sfat Dacă tipul de date al câmpului din care se derivă expr este un număr, funcțiile DStDev și DStDevP returnează un tip de date Dublu. Dacă utilizați funcția DStDev sau DStDevP într-un control calculat, includeți o funcție de conversie a tipului de date în expresie pentru a îmbunătăți performanța.

Notă

Modificările nesalvate la înregistrările din domeniu nu sunt incluse atunci când utilizați aceste funcții. Dacă doriți ca funcția DStDev sau DStDevP să se bazeze pe valorile modificate, trebuie să salvați mai întâi modificările făcând clic pe Salvare înregistrare sub Înregistrări în fila Date , mutând focalizarea la altă înregistrare sau utilizând metoda de actualizare .

Exemple de interogare

expresie Rezultatele
SELECT DStDev("prețunitar","productSales","unitprice>140") AS Expr1, DStDevP("prețunitar","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); Calculează abaterea Standard a "PrețUnitar" (luând datele date ca eșantion) din tabelul "VânzăriProdus", unde "prețunitar" este mai mare decât 140 și afișează rezultatul în Expr1. De asemenea, calculează abaterea Standard a "PrețUnitar" (considerând datele date ca populație întreagă), unde "PrețUnitar" este mai mic decât 140 și afișează rezultatele în Expr2.
SELECT DStDev("prețunitar","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"); Calculează abaterea Standard a "PrețUnitar" (luând datele date ca eșantion) din tabelul "VânzăriProdus", unde "prețunitar" este mai mare decât 140 și afișează rezultatul în DstDev. De asemenea, calculează abaterea Standard a "prețunitar" (considerând datele date ca populație întreagă), unde "prețunitar" este mai mic decât 140 și afișează rezultatele în DstDevP.

Exemplu VBA

Notă

Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.

Următorul exemplu returnează estimări ale abaterii standard pentru o populație și un eșantion de populație pentru comenzile expediate în Marea Britanie. Domeniul este un tabel Comenzi. Argumentul criteriilor restricționează setul rezultat de înregistrări la cele pentru care valoarea ShipCountryRegion este 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'")

Următorul exemplu calculează aceleași estimări utilizând o variabilă, strCountryRegion, în argumentul criterii . Rețineți că ghilimelele simple (') sunt incluse în expresia șir de caractere, astfel încât, atunci când șirurile sunt concatenate, literalul UK șir va fi încadrat în ghilimele simple.

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