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