Cara menggunakan fungsi intnx di sas (dengan contoh)
Anda dapat menggunakan fungsi INTNX di SAS untuk menambah tanggal dengan interval tertentu seperti hari, minggu, bulan, dll.
Fungsi ini menggunakan sintaks dasar berikut:
INTNX (interval, tanggal_mulai, kenaikan)
Emas:
- interval : Interval untuk menambahkan tanggal (hari, minggu, bulan, tahun, dll.)
- start_date : Variabel yang berisi tanggal mulai
- kenaikan : Jumlah interval yang akan ditambahkan
Untuk mengurangi suatu interval, masukkan angka negatif ke argumen kenaikan .
Contoh berikut menunjukkan beberapa cara umum untuk menggunakan fungsi INTNX dalam praktiknya dengan kumpulan data berikut di 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;
Contoh 1: Gunakan INTNX untuk menambahkan hari ke hari ini
Kita bisa menggunakan fungsi INTNX untuk membuat kolom baru bernama plus5days yang menambahkan lima hari untuk setiap tanggal di kolom tanggal :
/*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;
Perhatikan bahwa kolom baru bernama plus5days berisi nilai dari kolom tanggal dengan tambahan lima hari.
Contoh 2: Gunakan INTNX untuk mengurangi hari dari tanggal
Anda juga dapat mengurangi hari hanya dengan menggunakan nilai negatif di fungsi INTNX .
Misalnya, kita bisa menggunakan kode berikut untuk mengurangi lima hari dari setiap nilai di kolom tanggal :
/*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;
Perhatikan bahwa kolom baru bernama minus5days berisi nilai dari kolom tanggal dengan pengurangan lima hari.
Contoh 3: Gunakan INTNX untuk mencari hari pertama setiap bulan
Kita dapat menggunakan fungsi INTNX untuk membuat kolom baru bernama bulan pertama yang berisi hari pertama setiap bulan untuk setiap tanggal di kolom tanggal :
/*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;
Perhatikan bahwa kolom baru bernama bulan pertama berisi hari pertama setiap bulan untuk setiap tanggal di kolom tanggal .
Contoh 4: Gunakan INTNX untuk mencari hari pertama tahun ini
Kita juga bisa menggunakan fungsi INTNX untuk membuat kolom baru bernama tahun pertama yang berisi hari pertama tahun untuk setiap tanggal di kolom tanggal :
/*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;
Perhatikan bahwa kolom baru yang disebut tahun pertama berisi hari pertama suatu tahun untuk setiap tanggal di kolom tanggal .
Catatan : Anda dapat menemukan dokumentasi lengkap untuk fungsi SAS INTNX di sini .
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:
Bagaimana mengkonversi DateTime ke tanggal di SAS
Cara mengonversi variabel numerik menjadi tanggal di SAS
Cara menghitung selisih dua tanggal di SAS