نوع السؤال المتقدم للحساب

Read in English | Lire en français | Leer en español آخر تحديث: 2 ديسمبر 2021

قد تتطلب بعض النماذج المتقدمة إجراء عملية حسابية داخلية كجزء من النموذج (بدلاً من إجرائها لاحقاً أثناء التحليل). يمكن القيام بذلك عن طريق إضافة حساب، وكتابة التعبير الرياضي في حقل تسمية السؤال.

توفر هذه المقالة تعليمات خطوة بخطوة حول كيفية إضافة الحسابات أثناء استخدام أداة إنشاء النماذج أو عن طريق التنزيل والإضافة مباشرة إلى XLSForm.

لعرض قائمة كاملة ومفصلة بجميع الوظائف، يرجى زيارة وثائق وظائف XPath الممتازة من ODK.

طرق إضافة أسئلة الحساب:

استخدام أداة إنشاء النماذج

الخطوة 1: أضف سؤال حساب

image

الخطوة 2: اكتب صيغة الحساب الخاصة بك حيث تكتب عادةً سؤالك.

image

ملاحظة:

  • لن يتم عرض سؤال الحساب الخاص بك عند إجراء إدخال/جمع البيانات سواء على KoboCollect أو Enketo. ومع ذلك، سيتم عرضه عند النظر إلى البيانات في عرض الجدول أو في النسخة المحملة.

  • يجب عليك اتباع قواعد مماثلة لنماذج XLS (انظر قسم القواعد أدناه).

استخدام نماذج XLS

نوصي بهذا النهج عند العمل مع وظائف حساب أكثر تقدماً.

تسمح نماذج XLS باستخدام وظيفة الحساب على أنواع مختلفة من الأسئلة.

  • يمكنك محاكاة النهج المستخدم في أداة إنشاء النماذج حيث لن يتم عرض السؤال عند جمع البيانات عن طريق تحديد نوع السؤال ببساطة على أنه 'calculate' ثم كتابة الحساب الخاص بك ضمن عمود الحساب.

  • يمكنك استخدام 'calculate' لأنواع أسئلة مختلفة، وفي هذه الحالة سيتم عرض السؤال أثناء جمع البيانات. يمكنك اختيار جعل هذا السؤال للقراءة فقط بحيث لا يمكن لأحد تغيير الإدخال. أنواع الأسئلة التي اختبرناها بهذا النهج تشمل:

    أ. integer (سيأخذ فقط وظائف حساب رقمية) ب. text (سيأخذ فقط وظائف حساب نصية) ج. note (سيأخذ فقط الإشارة إلى الأسئلة وليس وظائف الحساب) د. date (سيأخذ فقط وظائف حساب التاريخ) هـ. time (سيأخذ فقط وظائف حساب الوقت)

    image

القواعد عند العمل مع أسئلة الحساب:

تنطبق هذه القواعد على كل من أداة إنشاء النماذج و XLSForm

  1. لا يمكنك استخدام كل من الحسابات الرقمية والنصية ضمن نفس السؤال

  2. ستتبع حساباتك الرقمية قاعدة BODMAS في تطبيق الحسابات أي أن ترتيب تنفيذ الحسابات سيكون الأقواس، القسمة، الضرب، الجمع ثم الطرح (تذكر هذا دائماً عند ترتيب السؤال)

  3. أسئلة الحساب التي تشير إلى أسئلة أخرى يجب ألا توضع في نفس المجموعة مع الأسئلة المرجعية لأن الحساب لن يظهر ما لم تنتقل من المجموعة

  4. عند الإشارة إلى سؤال في حساب، تحتاج إلى الإشارة إليه كـ ${Question} حيث question هو اسم السؤال

  5. يمكنك "إجبار" الحساب على التقييم عن طريق تعيين 'required' على TRUE

قائمة وظائف الحساب المختبرة

(لا تتردد في التوصية بوظائف إضافية وسنقوم بالتحديث)

image

العمل مع أمر IF في الحسابات

image

حلول بديلة للحسابات

موصى به للمستخدمين المتقدمين

الحل البديل 1: إنشاء أسئلة وهمية لحساب النتيجة النهائية في سلسلة من الأسئلة**

لنفترض أن لديك سؤالاً مثل QN1 هل لديك سؤال؟ الإجابات نعم=1 لا=2 لا أعرف=999

في هذه الحالة قد ترغب في إنشاء QN1 وهمي مباشرة بعد QN1 لحساب الفروق في الترميز وتحديد المعادل الرياضي. لذا ستنشئ سؤال حساب QN1d (_لاحظ أن هذه اصطلاحات التسمية الخاصة بي حيث d تعني وهمي) وتحدد القيمة الافتراضية على 0 ولكن اكتب الصيغة كـ If (${QN1}=1,1,0)

لاحظ في نموذج الاختبار الخاص بي تمكنت من إنشاء الحالة وتظهر البيانات كما هي مرمزة لـ Q1N وكما هي محسوبة للمعنى الرياضي لـ Q1Nd. يجب أن يكون هذا هو المعنى المقصود من نتيجتك. يمكنك القيام بذلك للحسابات مثل الثروة حيث يمكن أن تعني نعم ولا قيمة مختلفة في بلدان مختلفة.

بمجرد القيام بذلك لجميع أسئلتك، يمكنك إضافة سؤال حساب يجمع كل الأسئلة الوهمية كـ:

${QN1d}+${QN2d}+ إلخ