كيفية استخدام وظيفة 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; 

وظيفة INTCK في SAS

تُظهر المتغيرات الخمسة الجديدة الفرق بين تاريخ البدء وتاريخ الانتهاء بالأيام والأسابيع والشهور والأرباع والسنوات.

لاحظ أنه يمكننا استخدام الوسيطة ‘ 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

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *