วิธีใช้ฟังก์ชัน intnx ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน INTNX ใน SAS เพื่อเพิ่มวันที่ตามช่วงเวลาที่ระบุ เช่น วัน สัปดาห์ เดือน เป็นต้น
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
INTNX (ช่วงเวลา, start_date, การเพิ่มขึ้น)
ทอง:
- Interval : ช่วงที่จะบวกเข้ากับวันที่ (วัน สัปดาห์ เดือน ปี ฯลฯ)
- start_date : ตัวแปรที่มีวันที่เริ่มต้น
- increation : จำนวนช่วงเวลาที่จะเพิ่ม
หากต้องการลบช่วงเวลา ให้ระบุจำนวนลบให้กับอาร์กิวเมนต์ ส่วนเพิ่ม
ตัวอย่างต่อไปนี้แสดงวิธีทั่วไปในการใช้ฟังก์ชัน INTNX ในทางปฏิบัติกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
date format date9.;
input date:date9. dirty;
datalines ;
01JAN2022 50
01FEB2022 34
14MAR2022 26
01MAY2022 22
24AUG2022 27
28OCT2022 48
14NOV2022 97
04DEC2022 88
;
run ;
/*view dataset*/
proc print data = original_data;
ตัวอย่างที่ 1: ใช้ INTNX เพื่อเพิ่มวันจนถึงวันนี้
เราสามารถใช้ฟังก์ชัน INTNX เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า plus5days ซึ่งจะบวกห้าวันเข้ากับแต่ละวันที่ในคอลัมน์ วันที่ :
/*create new dataset with column that adds 5 days to date*/
data new_data;
set original_data;
plus5days= intnx ('day', date, 5);
format plus5days date9.;
run ;
/*view dataset*/
proc print data = new_data;
โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า plus5days มีค่าจากคอลัมน์ วันที่ ที่เพิ่มเข้ามาห้าวัน
ตัวอย่างที่ 2: ใช้ INTNX เพื่อลบวันจากวันที่
คุณยังสามารถลบวันได้โดยใช้ค่าลบในฟังก์ชัน INTNX
ตัวอย่างเช่น เราสามารถใช้โค้ดต่อไปนี้เพื่อลบห้าวันออกจากแต่ละค่าในคอลัมน์ วันที่ :
/*create new dataset with column that subtracts 5 days from date*/
data new_data;
set original_data;
minus5days= intnx ('day', date, -5);
format minusdays date9.;
run ;
/*view dataset*/
proc print data = new_data;
โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า minus5days มีค่าจากคอลัมน์ วัน ที่โดยลบออกห้าวัน
ตัวอย่างที่ 3: ใช้ INTNX เพื่อค้นหาวันแรกของเดือน
เราสามารถใช้ฟังก์ชัน INTNX เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า firstmonth ซึ่งมีวันแรกของเดือนสำหรับแต่ละวันที่ในคอลัมน์ วันที่ :
/*create new dataset with column that contains first day of the month*/
data new_data;
set original_data;
firstmonth = intnx ('month', date, 0);
format firstmonth date9.;
run ;
/*view dataset*/
proc print data =new_data;
โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า firstmonth ประกอบด้วยวันแรกของเดือนสำหรับแต่ละวันที่ในคอลัมน์ วันที่
ตัวอย่างที่ 4: ใช้ INTNX เพื่อค้นหาวันแรกของปี
นอกจากนี้เรายังสามารถใช้ฟังก์ชัน INTNX เพื่อสร้างคอลัมน์ใหม่ที่เรียกว่า firstyear ซึ่งมีวันแรกของปีสำหรับแต่ละวันที่ในคอลัมน์ วันที่ :
/*create new dataset with column that contains first day of the year*/
data new_data;
set original_data;
firstyear = intnx ('year', date, 0);
format firstyear date9.;
run ;
/*view dataset*/
proc print data =new_data;
โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า ปีแรก จะมีวันแรกของปีสำหรับแต่ละวันที่ในคอลัมน์ วันที่
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับสมบูรณ์สำหรับฟังก์ชัน SAS INTNX ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีแปลง DateTime เป็นวันที่ใน SAS
วิธีแปลงตัวแปรตัวเลขเป็นวันที่ใน SAS
วิธีการคำนวณความแตกต่างระหว่างวันที่สองวันใน SAS