Cara menggunakan fungsi intck di sas (dengan contoh)


Anda dapat menggunakan fungsi INTCK di SAS untuk menghitung perbedaan antara dua tanggal di SAS dengan cepat.

Fungsi ini menggunakan sintaks dasar berikut:

INTCK (interval, tanggal mulai, data akhir, metode)

Emas:

  • interval : Interval untuk menghitung (hari, minggu, bulan, kuartal, tahun, dll.)
  • tanggal mulai : Tanggal mulai
  • tanggal akhir : Tanggal akhir
  • metode : Hitung interval menggunakan metode diskrit atau kontinu

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Menggunakan Fungsi INTCK untuk Menghitung Selisih Tanggal di SAS

Katakanlah kita memiliki kumpulan data berikut di SAS yang berisi dua variabel tanggal:

 /*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; 

Kita dapat menggunakan kode berikut untuk menghitung selisih antara nilai variabel start_date dan end_date dalam hari, minggu, bulan, kuartal, dan tahun:

 /*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; 

Fungsi INTCK di SAS

Lima variabel baru menunjukkan perbedaan antara tanggal_mulai dan tanggal_akhir dalam hari, minggu, bulan, kuartal, dan tahun.

Perhatikan bahwa kita dapat menggunakan argumen ‘ c ‘ dalam fungsi INTCK untuk hanya menghitung selisih hari, minggu, bulan, kuartal, dan tahun penuh:

 /*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; 

Perhatikan perbedaan antara tabel ini dan tabel sebelumnya.

Dalam tabel ini, selisih minggu antara tanggal 1 Januari dan 9 Januari dihitung sebagai 1 karena hanya satu minggu penuh yang dapat ditampung di antara tanggal-tanggal tersebut.

Namun, pada tabel sebelumnya, selisih minggu dihitung sebesar 2 karena terdapat dua minggu parsial yang jatuh di antara kedua tanggal tersebut.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:

Bagaimana mengkonversi DateTime ke tanggal di SAS
Bagaimana cara menambahkan hari hingga saat ini di SAS
Cara mendapatkan hari dalam seminggu dari tanggal di SAS

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *