Galite naudoti funkcijas DStDev ir DStDevP norėdami įvertinti nurodyto įrašų rinkinio ( domenas ) reikšmių rinkinio standartinį nuokrypį. Naudokite funkcijas DStDev ir DStDevP "Visual Basic for Applications" (VBA) modulyje, makrokomanda, užklausos reiškinyje arba formos arba ataskaitos apskaičiuojamasis valdiklis.
Naudokite funkciją DStDevP aibei įvertinti, o funkciją DStDev – aibės ėminį įvertinti.
Pavyzdžiui, galite naudoti funkciją DStDev modulyje norėdami apskaičiuoti standartinį mokinių testo rezultatų rinkinio nuokrypį.
Sintaksė
DStDev ( reiškinys , domenas [, kriterijai] )
DStDevP ( reiškinys , domenas [, kriterijai] )
Funkcijos DStDev ir DStDevP turi šiuos argumentus:
Argumentas |
Aprašas |
reiškinys |
Būtinas. Reiškinys, identifikuojantis skaitinį lauką, kuriame norite rasti standartinį nuokrypį. Tai gali būti eilutės išraiška, identifikuojantis lauką iš lentelės ar užklausos, arba reiškinys, kuris atlieka to lauko duomenų skaičiavimą. Reiškinyje galite įtraukti lentelės lauko pavadinimą, formos valdiklį, konstantą arba funkciją. Reiškinyje esanti funkcija gali būti įtaisytoji arba apibrėžta vartotojo, tačiau negali būti kito domeno agregavimo ar SQL agregavimo funkcija. |
domenas |
Būtinas. Eilutės reiškinys, identifikuojantis domeną sudarančių įrašų rinkinį. Tai gali būti lentelės pavadinimas arba užklausos, kuriai nebūtinas parametras, pavadinimas. |
kriterijai |
Pasirenkamas. Eilutės reiškinys, naudojamas apriboti duomenų diapazoną, kuriame atliekama funkcija DStDev arba DStDevP . Pvz., kriterijai dažnai yra sąlygos WHERE atitikmuo SQL reiškinyje, be žodžio WHERE. Jei kriterijai nenurodyti, funkcijos DStDev ir DStDevP įvertina expr pagal visą domeną. Bet kuris laukas, įtrauktas į kriterijus , taip pat turi būti domene; Kitu atveju funkcijos DStDev ir DStDevP pateiks Null. |
Pastabos
Jei domenas nurodo mažiau nei du įrašus arba jei kriterijus atitinka mažiau nei du įrašai, funkcijos DStDev ir DStDevP grąžina Null, nurodančią, kad standartinio nuokrypio apskaičiuoti negalima.
Nesvarbu, ar funkciją DStDev ar DStDevP naudojate makrokomandoje, modulyje, užklausos reiškinyje ar skaičiavimų valdiklyje, argumentą kriterijai turite sudaryti atidžiai, kad užtikrintumėte, jog jis bus įvertintas tinkamai.
Galite naudoti funkcijas DStDev ir DStDevP , kad nurodytumėte kriterijus išrinkimo užklausos eilutėje Kriterijai. Pavyzdžiui, galite sukurti užklausą lentelėje Užsakymai ir lentelėje Produktai, kad būtų rodomi visi produktai, kurių gabenimo išlaidos viršijo vidurkį ir standartinį gabenimo išlaidų nuokrypį. Eilutėje Kriterijai po lauku Transportavimo mokestis būtų toliau nurodyta išraiška:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
Funkcijas DStDev ir DStDevP galite naudoti užklausos apskaičiuotojo lauko reiškinyje arba naujinimo užklausa eilutėje Naujinti į.
Pastaba: Funkcijas DStDev ir DStDevP arba Funkcijas StDev ir StDevP galite naudoti bendrosios sumos užklausa apskaičiuotojo lauko reiškinyje. Jei naudojate funkciją DStDev arba DStDevP , reikšmės apskaičiuojamos prieš grupuoti duomenis. Jei naudojate funkciją StDev arba StDevP , duomenys grupuojami prieš įvertinant lauko išraiškos reikšmes.
Funkciją DStDev ir DStDevP naudokite skaičiavimų valdiklyje, kai reikia nurodyti kriterijus duomenų diapazonui, kuriame atliekama funkcija, apriboti. Pavyzdžiui, norėdami rodyti standartinį užsakymų, kurie bus siunčiami į Kaliforniją, nuokrypį, teksto lauko ypatybę ControlSource nustatykite kaip tokį reiškinį:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Jei tiesiog norite rasti standartinį visų domeno įrašų nuokrypį, naudokite funkciją StDev arba StDevP .
Patarimas Jei lauko, iš kurio išvesta išraiška, duomenų tipas yra skaičius, funkcijos DStDev ir DStDevP pateikia dvigubo tikslumo duomenų tipą. Jei naudojate funkciją DStDev arba DStDevP skaičiavimų valdiklyje, įtraukite duomenų tipo konvertavimo funkciją į reiškinį, kad pagerintumėte našumą.
Pastaba: Naudojant šias funkcijas, neįrašyti domeno įrašų pakeitimai neįtraukiami. Jei norite, kad funkcijos DStDev arba DStDevP būtų pagrįstos pakeistomis reikšmėmis, pirmiausia pakeitimus turite įrašyti skirtuko Duomenys dalyje Įrašai spustelėdami Įrašyti įrašą, pereidami į kitą įrašą arba naudodami metodą Naujinti.
Užklausų pavyzdžiai
Reiškinys |
Rezultatai |
SELECT DStDev("vieneto kaina","produktasPardavimai","vieneto kaina>140") AS Reiškinys1, DStDevP("vieneto kaina","produktasPardavimai","vieneto kaina<140") AS Išraiška2 IŠ produktųParduoti GROUP BY DStDev("vieneto kaina","produktasPardavimai","vieneto kaina>140"), DStDevP("vieneto kaina","produktasParduotas","vieneto kaina<140"); |
Apskaičiuoja standartinį "Vieneto_kaina" nuokrypį (atsižvelgiant į nurodytus duomenis kaip pavyzdį) iš lentelės "ProductSales", kur "vieneto kaina" yra didesnė nei 140, ir rodo rezultatą Išraiška1. Taip pat apskaičiuoja standartinį "Vieneto_kaina" nuokrypį (atsižvelgiant į nurodytus duomenis kaip visą aibę), kur "vieneto kaina" yra mažesnė nei 140 ir rodo rezultatus Išraiška2. |
SELECT DStDev("vieneto kaina","produktasParduotas","vieneto kaina>140") AS DstDev, DStDevP("vieneto kaina","produktasParduotas","vieneto kaina<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); |
Apskaičiuoja standartinį "Vieneto_kaina" nuokrypį (atsižvelgiant į nurodytus duomenis kaip pavyzdį) iš lentelės "ProductSales", kur "vieneto kaina" yra didesnė nei 140, ir rodo rezultatą DstDev. Taip pat apskaičiuoja standartinį "Vieneto_kaina" nuokrypį (atsižvelgiant į nurodytus duomenis kaip visą aibę), kur "vieneto kaina" yra mažesnė nei 140 ir rodomi rezultatai DstDevP. |
VBA pavyzdys
Pastaba: Pateiktuose pavyzdžiuose parodyta, kaip naudoti šią funkciją „Visual Basic for Applications“ (VBA) modulyje. Daugiau informacijos apie darbą su VBA rasite išplečiamajame sąraše pasirinkę Kūrėjų nuoroda (šalia Ieškos) ir ieškos lauke įvedę vieną ar daugiau sąlygų.
Toliau pateiktame pavyzdyje pateikiami aibės standartinio nuokrypio įvertinimai ir į Jungtinę Karalystę išsiųstų užsakymų aibės imtis. Domenas yra lentelė Užsakymai. Argumentas kriterijai apriboja gaunamą įrašų rinkinį iki tų, kurių ShipCountryRegion reikšmė yra JK.
Dim dblX As Double
Dim dblY As Double ' Sample estimate. dblX = DStDev("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'") ' Population estimate. dblY = DStDevP("[Freight]", "Orders", _ "[ShipCountryRegion] = 'UK'")
Kitame pavyzdyje apskaičiuoja tuos pačius įvertinimus kriterijų argumente naudojant kintamąjį strCountryRegion. Atkreipkite dėmesį, kad viengubos kabutės (') įtraukiamos į eilutės reiškinį, kad sujungus eilutes, raidinės eilutės UK būtų rašomi viengubose kabutėse.
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 & "'")