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), într-un macrocomandă, într-o expresie de interogare sau într-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 pentru un set de punctaje de test ale elevilor/ studenților.
Sintaxă
DStDev ( expresie , domeniu [, criterii] )
DStDevP ( expresie , domeniu [, criterii] )
Funcțiile DStDev și DStDevP au următoarele argumente:
Argument |
Descriere |
expr |
Obligatoriu. O expresie care identifică câmpul numeric în care doriți să găsiți abaterea standard. Poate fi o expresie șir identificarea unui câmp dintr-un tabel sau dintr-o interogare sau poate fi o expresie care efectuează un calcul pentru datele din acel câmp. În expr puteți include numele unui câmp într-un tabel, un control pe 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 execută funcția DStDev sau DStDevP . De exemplu, criteriile sunt adesea echivalente cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă se omit criterii , funcțiile DStDev și DStDevP evaluează expr în raport cu întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu; în caz contrar, funcțiile DStDev și DStDevP vor returna o valoare Null. |
Observații
Dacă domeniul se referă la mai puțin de două înregistrări sau dacă mai puțin de două înregistrări satisfac criterii, funcțiile DStDev și DStDevP returnează un Null, indicând faptul că o abatere standard nu poate fi calculată.
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 criterii pentru a vă asigura că va fi evaluat corect.
Puteți utiliza funcțiile DStDev și DStDevP pentru a specifica criterii în rândul Criterii al unei interogări de selectare. De exemplu, puteți crea o interogare într-un tabel Comenzi și un tabel Produse pentru a afișa toate produsele pentru care costul de transport a scăzut peste medie, plus abaterea standard pentru costul de transport. 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 al unei interogări sau în rândul Actualizare la al unui 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 unui interogare 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âmpului.
Utilizați funcția 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 efectuează funcția. De exemplu, pentru a afișa abaterea standard pentru comenzile care vor fi expediate în California, setați proprietatea ControlSource 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 pentru toate înregistrările din domeniu, utilizați funcția StDev sau StDevP .
Sfat Dacă tipul de date al câmpului din care este derivat expr este un număr, funcțiile DStDev și DStDevP returnează un tip de date Dublă precizie. 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 ale înregistrărilor 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 mai întâi să salvați modificările făcând clic pe Salvare înregistrare sub Înregistrări pe fila Date , mutând focalizarea la altă înregistrare sau utilizând metoda Update .
Exemple de interogare
Expresie |
Rezultatele |
SELECT DStDev("prețunitar";"produseVânți";"prețunitar>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 în considerare datele date ca eșantion) din tabelul "UnitățiProdus" unde "prețunitar" este mai mare decât 140 și afișează rezultatul în Expr1. De asemenea, calculează abaterea standard a "PrețUnitar" (luând în considerare 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";"produseVânți";"prețunitar>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 în considerare datele date ca eșantion) din tabelul "ProductSales" unde "prețunitar" este mai mare decât 140 și afișează rezultatul în DstDev. De asemenea, calculează abaterea standard a "PrețUnitar" (luând în considerare 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 Regatul Unit. Domeniul este un tabel Comenzi. Argumentul criterii 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, astfel încât, atunci când șirurile sunt concatenate, UK literală a șirului să fie încadrată între 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 & "'")