الدالتان DStDev وDStDevP

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

يمكنك استخدام الدالتين 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 قيمة خالية.

ملاحظات

إذا أشار المجال إلى أن أقل من سجلين أو إذا كان أقل من سجلين يستوفان المعايير، ترجع الدالتان DStDevوDStDevPقيمة فارغة، مما يشير إلى أنه لا يمكن حساب الانحراف المعياري.

سواء كنت تستخدم الدالة DStDev أو DStDevP في ماكرو أو وحدة نمطية أو تعبير استعلام أو عنصر تحكم محسوب، يجب إنشاء وسيطة المعايير بعناية للتأكد من تقييمها بشكل صحيح.

يمكنك استخدام الدالتين 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 .

تلميح إذا كان نوع بيانات الحقل الذي اشتق expr منه رقما، ترجع الدالتان DStDev وDStDevP نوع بيانات مزدوج. إذا كنت تستخدم الدالة 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","سعر>الوحدة 140"), DStDevP("سعر الوحدة","productSales","سعر<الوحدة 140"); تحسب هذه الدالة الانحراف Standard ل "سعر الوحدة" (مع الأخذ في الاعتبار البيانات المحددة كعينة) من الجدول "مبيعات المنتج" حيث يكون "سعر الوحدة" أكبر من 140 ويعرض النتيجة في Expr1. تحسب أيضا الانحراف Standard ل "سعر الوحدة" (مع الأخذ في الاعتبار البيانات المحددة كمحتوى بأكمله) حيث "سعر الوحدة" أقل من 140 ويعرض النتائج في Expr2.
SELECT DStDev("unitprice","productSales","unitprice>140") AS DstDev, DStDevP("unitprice","productSales","unitprice<140") AS DstDevP FROM productSales GROUP BY DStDev("unitprice","productSales","سعر>الوحدة 140"), DStDevP("سعر الوحدة","productSales","سعر<الوحدة 140"); تحسب هذه الدالة الانحراف Standard ل "سعر الوحدة" (مع الأخذ في الاعتبار البيانات المحددة كعينة) من الجدول "مبيعات المنتج" حيث يكون "سعر الوحدة" أكبر من 140 ويعرض النتيجة في DstDev. تحسب أيضا هذه الدالة الانحراف Standard الخاصة ب "سعر الوحدة" (مع الأخذ في الاعتبار البيانات المحددة كمحتوى بأكمله) حيث يكون "سعر الوحدة" أقل من 140 ويعرض النتائج في DstDevP.

مثال VBA

ملاحظة

توضح الأمثلة التالية استخدام هذه الدالة في وحدة نمطية ل Visual Basic for Applications (VBA). لمزيد من المعلومات حول استخدام VBA، حدد "مرجع المطور" في القائمة المنسدلة بجوار "بحث" وأدخل مصطلح أو أكثر في مربع البحث.

يعرض المثال التالي تقديرات الانحراف المعياري لمحتوى وعينة من المحتوى للطلبات التي تم شحنها إلى المملكة المتحدة. المجال عبارة عن جدول طلبات. تقيد وسيطة المعايير مجموعة السجلات الناتجة بتلك التي تكون قيمة ShipCountryRegion لها هي المملكة المتحدة.

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، في وسيطة المعايير . لاحظ أنه يتم تضمين علامتي اقتباس مفردتين (') في تعبير السلسلة، بحيث عندما تتم سلسلة السلاسل، يتم تضمين السلسلة 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 & "'")