วิธีใช้ฟังก์ชัน scan ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน SCAN ใน SAS เพื่อแยกคำ ที่ n ออกจากสตริงได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
SCAN (สตริง, หมายเลข)
ทอง:
- string : สตริงที่จะแยกวิเคราะห์
- count : คำ ที่ n ที่จะแยก
ต่อไปนี้เป็นวิธีใช้ฟีเจอร์นี้ที่พบบ่อยที่สุดสามวิธี:
วิธีที่ 1: แยกคำ ที่ n ออกจากสตริง
data new_data;
set original_data;
second_word = scan (string_variable, 2 );
run ;
วิธีที่ 2: แยกคำสุดท้ายออกจากสตริง
data new_data;
set original_data;
last_word = scan (string_variable, -1 );
run ;
วิธีที่ 3: แยกคำหลายคำออกจากสตริง
data new_data;
set original_data;
first_word = scan (string_variable, 1 );
second_word = scan (string_variable, 2 );
third_word = scan (string_variable, 3 );
run ;
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
input name $20. dirty;
datalines ;
Andy Lincoln Bernard 55
Barren Michael Smith 41
Chad Simpson Arnolds 13
Derrick Parson Henry 29
Eric Miller Johansen 47
Frank Giovanni Goode 61
;
run ;
/*view dataset*/
proc print data = original_data;
ตัวอย่างที่ 1: แยกคำ ที่ n ออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการแยกคำที่สองจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*extract second word in each row of name column*/
data new_data;
set original_data;
second_word = scan (name, 2 );
run ;
/*view results*/
proc print data =new_data;
โปรดทราบว่าคอลัมน์ใหม่ชื่อ Second_word มีคำที่สองของแต่ละสตริงในคอลัมน์ ชื่อ
ตัวอย่างที่ 2: แยกคำสุดท้ายออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการใช้ค่า -1 ในฟังก์ชันสแกนเพื่อแยกคำสุดท้ายของแต่ละสตริงในคอลัมน์ ชื่อ :
/*extract last word in each row of name column*/
data new_data;
set original_data;
last_word = scan (name, -1 );
run ;
/*view results*/
proc print data =new_data;
โปรดทราบว่าคอลัมน์ใหม่ที่เรียกว่า Last_word มีคำสุดท้ายของแต่ละสตริงในคอลัมน์ ชื่อ
ตัวอย่างที่ 3: แยกคำหลายคำออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการใช้ฟังก์ชันสแกนเพื่อแยกแต่ละคำจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*extract each word in each row of name column*/
data new_data;
set original_data;
first_word = scan (name, 1 );
second_word = scan (name, 2 );
third_word = scan (name, 3 );
run ;
/*view results*/
proc print data =new_data;
โปรดทราบว่ามีการสร้างคอลัมน์ใหม่สามคอลัมน์ซึ่งประกอบด้วยคำที่หนึ่ง สอง และสามของแต่ละสตริงในคอลัมน์ ชื่อ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีใช้ฟังก์ชัน SUBSTR ใน SAS
วิธีใช้ฟังก์ชัน FIND ใน SAS
วิธีใช้ฟังก์ชัน COALESCE ใน SAS