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