Sas: cara membagi string dengan pembatas


Anda dapat menggunakan fungsi scan() di SAS untuk membagi string dengan cepat berdasarkan pembatas tertentu.

Contoh berikut menunjukkan cara menggunakan fungsi ini dalam praktiknya.

Contoh: Pisahkan string dengan pembatas di SAS

Anggaplah kita memiliki kumpulan data berikut di SAS:

 /*create dataset*/
data my_data1;
    input name $25.;
    datalines ;
Andy_Lincoln_Bernard
Barry_Michael
Chad_Simpson_Smith
Derrick_Parson_Henry
Eric_Miller
Frank_Giovanni_Goodwill
;
run ;

/*print dataset*/
proc print data =my_data1;

Kita dapat menggunakan kode berikut untuk dengan cepat membagi string nama menjadi tiga string terpisah:

 /*create second dataset with name split into three columns*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
run ;

/*view second dataset*/
proc print data =my_data2; 

Perhatikan bahwa string kolom nama telah dibagi menjadi tiga kolom baru.

Untuk nama yang hanya memiliki satu pembatas, nilai pada kolom name3 kosong.

Perhatikan bahwa kita juga dapat menggunakan fungsi drop untuk menghapus kolom nama asli dari kumpulan data baru:

 /*create second dataset with name split into three columns, drop original name*/
data my_data2;
set my_data1;
    name1= scan (name, 1 , '_');
    name2= scan (name, 2 , '_');
    name3= scan (name, 3 , '_');
    dropname ;
run ;

/*view second dataset*/
proc print data =my_data2; 

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di SAS:

Cara menormalkan data di SAS
Cara mengganti nama variabel di SAS
Cara menghapus duplikat di SAS
Bagaimana cara mengganti nilai yang hilang dengan nol di SAS

Tambahkan komentar

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