كيفية استخدام وظيفة intck في sas (مع أمثلة)
يمكنك استخدام الدالة INTCK في SAS لحساب الفرق بين تاريخين في SAS بسرعة.
تستخدم هذه الوظيفة بناء الجملة الأساسي التالي:
INTCK (الفاصل الزمني، تاريخ البدء، بيانات النهاية، الطريقة)
ذهب:
- الفاصل الزمني : الفاصل الزمني للحساب (يوم، أسبوع، شهر، ربع، سنة، إلخ.)
- تاريخ البدء : تاريخ البدء
- تاريخ الانتهاء : تاريخ الانتهاء
- الطريقة : حساب الفواصل الزمنية باستخدام طريقة منفصلة أو مستمرة
يوضح المثال التالي كيفية استخدام هذه الوظيفة عمليًا.
مثال: استخدام الدالة INTCK لحساب الفرق بين التواريخ في SAS
لنفترض أن لدينا مجموعة البيانات التالية في SAS والتي تحتوي على متغيرين للتاريخ:
/*create dataset*/
data original_data;
format start_date end_date date9. ;
input start_date: date9. end_date: date9. ;
datalines ;
01JAN2022 09JAN2022
01FEB2022 22FEB2022
14MAR2022 04APR2022
01MAY2022 14AUG2023
06AUG2022 10NOV2024
;
run ;
/*view dataset*/
proc print data = original_data;
يمكننا استخدام الكود التالي لحساب الفرق بين قيم متغيرات start_date و end_date بالأيام والأسابيع والشهور والأرباع والسنوات:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date);
weeks_diff = intck (' weeks ', start_date, end_date);
months_diff = intck (' months ', start_date, end_date);
qtr_diff = intck (' qtr ', start_date, end_date);
years_diff = intck (' years ', start_date, end_date);
run ;
/*view new dataset*/
proc print data = new_data;
تُظهر المتغيرات الخمسة الجديدة الفرق بين تاريخ البدء وتاريخ الانتهاء بالأيام والأسابيع والشهور والأرباع والسنوات.
لاحظ أنه يمكننا استخدام الوسيطة ‘ c ‘ في الدالة INTCK لحساب الفرق في الأيام والأسابيع والشهور والأرباع والسنوات الكاملة فقط:
/*create new dataset*/
data new_data;
set original_data;
days_diff = intck (' day ', start_date, end_date, ' c ');
weeks_diff = intck (' weeks ', start_date, end_date, ' c ');
months_diff = intck (' months ', start_date, end_date, ' c ');
qtr_diff = intck (' qtr ', start_date, end_date, ' c ');
years_diff = intck (' years ', start_date, end_date, ' c ');
run ;
/*view new dataset*/
proc print data = new_data;
لاحظ الفرق بين هذا الجدول والجدول السابق.
في هذا الجدول، يتم حساب الفرق في الأسابيع بين 1 يناير و9 يناير بـ 1 نظرًا لأنه يمكن احتواء أسبوع كامل فقط بين هذه التواريخ.
ومع ذلك، في الجدول السابق، تم حساب الفرق في الأسابيع عند 2 نظرًا لوجود أسبوعين جزئيين يقعان بين هذين التاريخين.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في SAS:
كيفية تحويل DateTime إلى تاريخ في SAS
كيفية إضافة أيام حتى الآن في SAS
كيفية الحصول على يوم من الأسبوع من التاريخ في SAS