คุณสามารถใช้ฟังก์ชัน DStDev และ DStDevP เพื่อประมาณค่าเบี่ยงเบนมาตรฐานระหว่างชุดของค่าในชุดระเบียนที่ระบุ ( โดเมน ) ใช้ฟังก์ชัน DStDev และ DStDevP ในโมดูล Visual Basic for Applications (VBA) แมโคร นิพจน์คิวรี หรือ ตัวควบคุมที่มีการคำนวณ บนฟอร์มหรือรายงาน
ใช้ฟังก์ชัน DStDevP เพื่อประเมินประชากรและฟังก์ชัน DStDev เพื่อประเมินตัวอย่างประชากร
ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน DStDev ในโมดูลเพื่อคํานวณค่าเบี่ยงเบนมาตรฐานระหว่างคะแนนสอบของนักเรียน
ไวยากรณ์
DStDev ( expr , domain [, criteria] )
DStDevP ( expr , domain [, criteria] )
ฟังก์ชัน DStDev และ DStDevP มีอาร์กิวเมนต์ดังนี้
อาร์กิวเมนต์ |
คำอธิบาย |
expr |
จำเป็น นิพจน์ที่ระบุเขตข้อมูลตัวเลขที่คุณต้องการค้นหาค่าเบี่ยงเบนมาตรฐาน ซึ่งอาจเป็น นิพจน์สตริง ที่ระบุเขตข้อมูลจากตารางหรือคิวรี หรืออาจเป็นนิพจน์ที่ทําการคํานวณข้อมูลในเขตข้อมูลนั้น ใน expr คุณสามารถใส่ชื่อของเขตข้อมูลในตาราง ตัวควบคุมบนฟอร์ม ค่าคงที่ หรือฟังก์ชัน ถ้า expr มีฟังก์ชันอาจเป็นฟังก์ชันที่มีอยู่แล้วภายในหรือที่ผู้ใช้กําหนดเอง แต่ไม่ใช่ฟังก์ชันการรวมโดเมนอื่นหรือฟังก์ชันการรวม SQL |
โดเมน |
จำเป็น นิพจน์สตริงที่ระบุชุดของระเบียนที่ประกอบด้วยโดเมน ซึ่งอาจเป็นชื่อตารางหรือชื่อแบบสอบถามสําหรับแบบสอบถามที่ไม่จําเป็นต้องใช้พารามิเตอร์ |
เกณฑ์ |
ไม่จำเป็น นิพจน์สตริงที่ใช้เพื่อจํากัดช่วงข้อมูลที่ฟังก์ชัน DStDev หรือ DStDevP ถูกดําเนินการ ตัวอย่างเช่น เกณฑ์ มักจะเทียบเท่ากับส่วนคําสั่ง WHERE ในนิพจน์ SQL โดยไม่มีคําว่า WHERE ถ้าเกณฑ์ถูกละไว้ ฟังก์ชัน DStDev และ DStDevP จะประเมิน expr กับทั้งโดเมน เขตข้อมูลใดๆ ที่รวมอยู่ในเกณฑ์ต้องเป็นเขตข้อมูลในโดเมนด้วย มิฉะนั้น ฟังก์ชัน DStDev และ DStDevP จะส่งกลับ Null |
ข้อสังเกต
ถ้า โดเมน อ้างถึงระเบียนน้อยกว่าสองระเบียน หรือถ้าน้อยกว่าสองระเบียนเป็นไปตาม เกณฑ์ ฟังก์ชัน DStDev และ DStDevP จะส่งกลับ Null ซึ่งระบุว่าไม่สามารถคํานวณค่าเบี่ยงเบนมาตรฐานได้
ไม่ว่าคุณจะใช้ฟังก์ชัน DStDev หรือ DStDevP ในแมโคร โมดูล นิพจน์คิวรี หรือตัวควบคุมจากการคํานวณ คุณต้องสร้างอาร์กิวเมนต์ criteria อย่างรอบคอบเพื่อให้แน่ใจว่าจะได้รับการประเมินอย่างถูกต้อง
คุณสามารถใช้ฟังก์ชัน DStDev และ DStDevP เพื่อระบุเกณฑ์ในแถว เกณฑ์ ของคิวรีแบบใช้เลือกข้อมูล ตัวอย่างเช่น คุณสามารถสร้างคิวรีบนตารางใบสั่งซื้อและตารางผลิตภัณฑ์เพื่อแสดงผลิตภัณฑ์ทั้งหมดที่ค่าขนส่งสินค้าอยู่เหนือค่าเฉลี่ยบวกกับค่าเบี่ยงเบนมาตรฐานสําหรับค่าขนส่ง แถว เกณฑ์ ที่อยู่ใต้เขตข้อมูล ค่าขนส่ง จะมีนิพจน์ต่อไปนี้:
>(DStDev("[Freight]", "Orders") + DAvg("[Freight]", "Orders"))
คุณสามารถใช้ฟังก์ชัน DStDev และ DStDevP ในนิพจน์เขตข้อมูลจากการคํานวณของคิวรี หรือในแถว อัปเดตเป็น ของ อัปเดตคิวรี
หมายเหตุ: คุณสามารถใช้ฟังก์ชัน DStDev และ DStDevP หรือฟังก์ชัน StDev และ StDevP ในนิพจน์เขตข้อมูลจากการคํานวณของ คิวรีแบบใช้หาผลรวม ถ้าคุณใช้ฟังก์ชัน DStDev หรือ DStDevP ค่าจะถูกคํานวณก่อนการจัดกลุ่มข้อมูล ถ้าคุณใช้ฟังก์ชัน StDev หรือ StDevP ข้อมูลจะถูกจัดกลุ่มก่อนค่าในนิพจน์เขตข้อมูลจะถูกประเมิน
ใช้ฟังก์ชัน DStDev และ DStDevP ในตัวควบคุมจากการคํานวณเมื่อคุณต้องการระบุเกณฑ์เพื่อจํากัดช่วงของข้อมูลที่ฟังก์ชันจะดําเนินการ ตัวอย่างเช่น เมื่อต้องการแสดงค่าเบี่ยงเบนมาตรฐานสําหรับการสั่งซื้อที่จะส่งไปยังแคลิฟอร์เนีย ให้ตั้งค่าคุณสมบัติ ControlSource ของกล่องข้อความเป็นนิพจน์ต่อไปนี้:
=DStDev("[Freight]", "Orders", "[ShipRegion] = 'CA'")
ถ้าคุณเพียงต้องการค้นหาค่าเบี่ยงเบนมาตรฐานในระเบียนทั้งหมดในโดเมน ให้ใช้ฟังก์ชัน StDev หรือ StDevP
เคล็ดลับ ถ้าชนิดข้อมูลของเขตข้อมูลที่นิพจน์ได้รับมาเป็นตัวเลข ฟังก์ชัน DStDev และ DStDevP จะส่งกลับชนิดข้อมูล Double ถ้าคุณใช้ฟังก์ชัน DStDev หรือ DStDevP ในตัวควบคุมจากการคํานวณ ให้ใส่ฟังก์ชันการแปลงชนิดข้อมูลในนิพจน์เพื่อปรับปรุงประสิทธิภาพการทํางาน
หมายเหตุ: การเปลี่ยนแปลงที่ไม่ได้บันทึกไปยังระเบียนใน โดเมน จะไม่ถูกรวมเมื่อคุณใช้ฟังก์ชันเหล่านี้ ถ้าคุณต้องการให้ฟังก์ชัน DStDev หรือ DStDevP ยึดตามค่าที่เปลี่ยนแปลง คุณต้องบันทึกการเปลี่ยนแปลงก่อนโดยการคลิก บันทึกระเบียน ภายใต้ ระเบียน บนแท็บ ข้อมูล การย้ายโฟกัสไปยังระเบียนอื่น หรือโดยใช้วิธี อัปเดต
ตัวอย่างคิวรี
Expression |
ผลลัพธ์ |
SELECT DStDev("unitprice","productSales","unitprice>140") AS Expr1, DStDevP("unitprice","productSales","unitprice<140") AS Expr2 FROM productSales GROUP BY DStDev("unitprice","productSales","unitprice>140"), DStDevP("unitprice","productSales","unitprice<140"); |
คํานวณค่าเบี่ยงเบนมาตรฐานของ "UnitPrice" (พิจารณาข้อมูลที่ระบุเป็นตัวอย่าง) จากตาราง "ProductSales" ที่ "unitprice" มากกว่า 140 และแสดงผลลัพธ์ใน Expr1 นอกจากนี้ยังคํานวณค่าเบี่ยงเบนมาตรฐานของ "UnitPrice" (พิจารณาข้อมูลที่ระบุเป็นประชากรทั้งหมด) โดยที่ "unitprice" น้อยกว่า 140 และแสดงผลลัพธ์ใน Expr2 |
SELECT DStDev("unitprice","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"); |
คํานวณค่าเบี่ยงเบนมาตรฐานของ "UnitPrice" (พิจารณาข้อมูลที่ระบุเป็นตัวอย่าง) จากตาราง "ProductSales" ที่ "unitprice" มากกว่า 140 และแสดงผลลัพธ์ใน DstDev นอกจากนี้ยังคํานวณค่าเบี่ยงเบนมาตรฐานของ "UnitPrice" (พิจารณาข้อมูลที่ระบุเป็นประชากรทั้งหมด) โดยที่ "unitprice" น้อยกว่า 140 และแสดงผลลัพธ์ใน DstDevP |
ตัวอย่าง VBA
หมายเหตุ: ตัวอย่างต่อไปนี้จะสาธิตการใช้ฟังก์ชันนี้ในโมดูล Visual Basic for Applications (VBA) สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการทํางานกับ VBA ให้เลือก การอ้างอิงสําหรับนักพัฒนา ในรายการดรอปดาวน์ที่อยู่ถัดจาก ค้นหา แล้วใส่คําอย่างน้อยหนึ่งคําในกล่องค้นหา
ตัวอย่างต่อไปนี้ส่งกลับค่าประมาณของค่าเบี่ยงเบนมาตรฐานสําหรับประชากรและตัวอย่างประชากรสําหรับการสั่งซื้อที่จัดส่งไปยังสหราชอาณาจักร โดเมนเป็นตารางใบสั่งซื้อ อาร์กิวเมนต์ criteria จะจํากัดชุดผลลัพธ์ของระเบียนไว้เฉพาะระเบียนที่มีค่า ShipCountryRegion เป็น 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'")
ตัวอย่างถัดไปจะคํานวณการประเมินเดียวกันโดยใช้ตัวแปร strCountryRegionในอาร์กิวเมนต์ criteria โปรดสังเกตว่าเครื่องหมายอัญประกาศเดี่ยว (') จะรวมอยู่ในนิพจน์สตริง เพื่อให้สตริงต่อกัน UK สัญพจน์สตริงจะอยู่ในเครื่องหมายอัญประกาศเดี่ยว
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 & "'")