วิธีการคำนวณความแตกต่างระหว่างวันที่สองวันใน sas


คุณสามารถใช้ฟังก์ชัน INTCK ใน SAS เพื่อคำนวณความแตกต่างระหว่างวันที่สองวันใน SAS ได้อย่างรวดเร็ว

ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:

INTCK (ช่วงเวลา วันที่เริ่มต้น ข้อมูลสิ้นสุด วิธีการ)

ทอง:

  • ช่วงเวลา : ช่วงเวลาในการคำนวณ (วัน สัปดาห์ เดือน ปี ฯลฯ)
  • start date : วันที่เริ่มต้น
  • end date : วันที่สิ้นสุด
  • วิธีการ : จะนับช่วงเต็มหรือไม่ (‘D’ = ไม่ใช่ (ค่าเริ่มต้น), ‘C’ = ใช่)

ตัวอย่างต่อไปนี้แสดงวิธีใช้ฟังก์ชันนี้ในทางปฏิบัติ

ตัวอย่าง: คำนวณความแตกต่างระหว่างวันที่ใน 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 14AUG2022
;
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);
run ;

/*view new dataset*/
proc print data =new_data; 

ตัวแปรใหม่ 3 ตัวแสดงความแตกต่างระหว่าง start_date และ end_date ในรูปแบบวัน สัปดาห์ และเดือน

โปรดทราบว่าเราสามารถใช้อาร์กิวเมนต์ ‘ 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 ');
run ;

/*view new dataset*/
proc print data =new_data; 

สังเกตความแตกต่างระหว่างตารางนี้กับตารางก่อนหน้า

ในตารางนี้ ส่วนต่างของสัปดาห์ระหว่างวันที่ 1 มกราคมถึง 9 มกราคมจะคำนวณเป็น 1 เนื่องจากระหว่างวันที่เหล่านี้จะมีเพียงหนึ่งสัปดาห์เต็มเท่านั้น

อย่างไรก็ตาม ในตารางก่อนหน้านี้ ส่วนต่างของสัปดาห์คำนวณไว้ที่ 2 เนื่องจากมีสัปดาห์ไม่เต็มสองสัปดาห์อยู่ระหว่างวันทั้งสองนี้

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีแทนที่อักขระในสตริงใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *