Online Reference

Home

Microsoft Reference
Knowledge Developer Database Internet Resource Forum
Access
Domain Aggregate Function
ดาวน์โหลดคู่มือ

DStDev Function, DStDevP Function

Access Function, ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP ใช้ประมาณค่าความเบี่ยงเบนมาตรฐานของเรคคอร์ดที่อยู่ในกลุ่มเรคคอร์ด (Domain) ที่ระบุ ซึ่งสามารถนำไปใช้ในชุดคำสั่ง Visual Basic, มาโคร, expression ในคิวรี่ หรือตัว control แบบคำนวณ

ฟังก์ชัน DStDev ใช้ประมาณค่าของข้อมูลประชากร (Population) และ ฟังก์ชัน DStDevP ใช้ประมาณค่าของกลุ่มตัวอย่าง

ตัวอย่างเช่น สามารถใช้ฟังก์ชัน ฟังก์ชัน DStDev ในโมดูลเพื่อคำนวณค่าความเบี่ยงเบนมาตรฐานของกลุ่มข้อมูลคะแนนของนักศึกษา

ไวยากรณ์

DStDev(expr, domain [,criteria] )

DStDevP(expr, domain [,criteria] )

อากิวเมนต์ของฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP มีรายละเอียด คือ

อากิวเมนต์ รายละเอียด
expr บังคับ, เป็น expression ที่ระบุถึงฟิลด์ที่เก็บข้อมูลตัวเล็กที่ต้องการหาค่าผลรวม ซึ่งสามารถเป็น expression ของข้อความที่ระบุฟิลด์ใน Table หรือคิวรี่ หรือเป็น expression หาค่าคำนวณของฟิลด์ ในอากิวเมนต์ expr สามารถใช้ชื่อของฟิลด์ของ Table, ตัว control บนฟอร์ม, ค่าคงที่ หรือฟังก์ชัน ถ้าอากิวเมนต์ expr ได้รวมฟังก์ชันซึ่งเป็นได้ทั้งฟังก์ชันที่มากับโปรแกรม (built-in function) หรือผู้กำหนดเอง แต่ห้ามใช้ฟังก์ชัน Domain aggregate อื่นๆ และ SQL aggregate
domain บังคับ, เป็น expression ของข้อความที่ระบุถึงกลุ่มของเรคคอร์ดที่กำหนดเป็น domain ซึ่งสามารถเป็นชื่อ Table หรือ คิวรี่
criteria ไม่บังคับ, เป็น expression ของข้อความที่ใช้คัดเลือกช่วงของข้อมูลที่จะใหฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP หาค่า เช่น criteria เทียบได้กับคำสั่ง WHERE clause ใน expression ของ SQL ถ้าไม่กำหนดอากิวเมนต์ criteria ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP จะหาค่าอากิวเมนต์ expr กับ domain ฟิลด์ที่นำไปใช้ในอากิวเมนต์ criteria ต้องเป็นฟิลด์ที่อยู่ใน domain ถ้าเป็นกรณีอื่นๆ ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP ส่งค่าเป็นค่าว่าง (Null)

ลักษณะการประยุกต์

ถ้า domain อ้างถึงเรคคอร์ดน้อยกว่า 2 เรคคอร์ด หรือ เรคคอร์ดที่สอดคล้องกับอากิวเมนต์ criteria มีน้อยกว่า 2 เรคคอร์ด ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP จะส่งค่าเป็นค่าว่าง (Null) เพื่อชี้ค่าความเบี่ยงเบนมาตรฐานไม่สามารถคำนวณได้

การใช้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP ในมาโคร หรือโมดูล, expression ในคิวรี่หรือตัว control ต้องสร้างอากิวเมนต์ criteria อย่างระมัดระวังเพื่อทำให้มั่นใจว่าการคำนวณถูกต้อง

ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP สามารถใช้ในการกำหนด criteria ในแถว Criteria ของคิวรี่ เช่น สร้างคิวรี่ที่ใช้ Table ชื่อ Orders และ Product เป็นแหล่งข้อมูลเพื่อแสดงสินค้าทั้งหมดที่ค่าขนส่งอยู่สูงกว่าค่าเฉลี่ยบวกค่าเบี่ยงเบนมาตรฐานของต้นทุนการขนส่ง ที่แถว criteria ของฟิลด์ Freight จะมี expression คือ

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

นอกจากนี้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP สามารถใช้เป็น expression ของฟิลด์คำนวณในคิวรี่ หรือแถว Update To ในคิวรี่แบบ Update

หมายเหตุ การใช้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP หรือฟังก์ชัน StDev และ ฟังก์ชัน StDevP ใน expression ของฟิลด์คำนวณในคิวรี่ผลรวม ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP จะหาค่าก่อนจัดกลุ่มข้อมูล ส่วนฟังก์ชัน StDev และ ฟังก์ชัน StDevP จะจัดกลุ่มข้อมูลก่อนหาค่า

การใช้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP ในตัว control แบบคำนวณ ต้องมีการกำหนด criteria ในการคัดเลือกช่วงของข้อมูลที่จะให้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP หาค่า เช่น การแสดงค่าความเบี่ยงเบนมาตรฐานของการส่งสินค่าตามใบสั่งซื้อที่ส่งไป CA ให้ตั้งค่าของคุณสมบัติ ControlSource ใน text box ด้วย expression ดังนี้

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

ส่วนการหาค่าความเบี่ยงเบนมาตรฐานของเรคคอร์ดทั้งหมดใน domain ให้ใช้ฟังก์ชัน StDev และ ฟังก์ชัน StDevP จะง่ายกว่า

Tip ถ้าประเภทข้อมูลของฟิลด์ที่อ้างอิงด้วยอากิวเมนต์ expr เป็นตัวเลข ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP จะส่งเป็นประเภทข้อมูล Double ถ้าใช้ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP ในตัว control แบบคำนวณให้ใช้ฟังก์ชันแปลงประเภทข้อมูลใน expression เพื่อความสามารถในการทำงาน

หมายเหตุ ฟังก์ชัน DStDev และ ฟังก์ชัน DStDevP จะไม่นำเรคคอร์ดที่ยังไม่บันทึกการเปลี่ยนแปลงใน domain มาคำนวณ ถ้าต้องการนำมาคำนวณด้วยให้ทำการบันทึกก่อน

ตัวอย่าง

ตัวอย่างการใช้ฟังก์ชัน DStDev และ ฟังก์ชัน DstDevP ประมาณค่าความเบี่ยงเบนมาตรฐานของข้อมูลทั้งหมด (population) และของกลุ่มตัวอย่าง ของการส่งสินค้าตามใบสั่งซื้อไป UK โดย domain คือ Table ชื่อ Orders และอากิวเมนต์ criteria คัดเลือกข้อมูลที่เป็นผลลัพธ์ของกลุ่มเรคคอร์ดที่ ShipCountry = UK

Dim dblX As Double, dblY As Double

' ประมาณค่าตัวอย่าง
dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = 'UK'")

' ประมาณค่าข้อมูลทั้งหมด
dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = 'UK'")

ตัวอย่างต่อมา expression ของอากิวเมนต์ criteria ใช้ตัวแปร strCountry หมายเหตุ การใช้เครื่องหมาย ( ‘ ) ในข้อความของ expression เพื่อแสดงค่าข้อความ UK ด้วยเครื่องหมาย ( ‘ )

Dim strCountry As String, dblX As Double, dblY As Double

strCountry = "UK"
dblX = DStDev("[Freight]", "Orders", "[ShipCountry] = '" & strCountry & "'")
dblY = DStDevP("[Freight]", "Orders", "[ShipCountry] = '" & strCountry & "'")