วิธีใช้ฟังก์ชัน compress ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้ฟังก์ชัน COMPRESS ใน SAS เพื่อลบอักขระเฉพาะออกจากสตริงได้
ฟังก์ชันนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
COMPRESS(สตริง, อักขระที่จะลบ)
ทอง:
- String : สตริงที่จะแยกวิเคราะห์
- อักขระที่จะลบ : อักขระเฉพาะอย่างน้อยหนึ่งตัวที่จะลบออกจากสตริง
ต่อไปนี้เป็นสี่วิธีทั่วไปในการใช้คุณลักษณะนี้:
วิธีที่ 1: ลบช่องว่างทั้งหมดออกจากสตริง
data new_data;
set original_data;
compressed_string = compress (string_variable);
run ;
วิธีที่ 2: เอาอักขระเฉพาะออกจากสตริง
data new_data;
set original_data;
compressed_string = compress (string_variable, ' !?@# ');
run ;
วิธีที่ 3: เอาอักขระตัวอักษรทั้งหมดออกจากสายอักขระ
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' a ');
run ;
วิธีที่ 4: ลบค่าตัวเลขทั้งหมดออกจากสตริง
data new_data;
set original_data;
compressed_string = compress (string_variable, '', ' d ');
run ;
ตัวอย่างต่อไปนี้แสดงวิธีใช้แต่ละวิธีกับชุดข้อมูลต่อไปนี้ใน SAS:
/*create dataset*/
data original_data;
input name $25.;
datalines ;
Andy Lincoln4 Bernard!
Barren Michael55 Smith!
Chad Simpson7 Arnolds?
Derrick Parson2 Henry
Eric Miller2 Johansen!
Frank Giovanni5 Goode
;
run ;
/*view dataset*/
proc print data = original_data;

ตัวอย่างที่ 1: ลบช่องว่างทั้งหมดออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการลบช่องว่างทั้งหมดออกจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*remove blank spaces from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name);
run ;
/*view results*/
proc print data =new_data;

โปรดทราบว่าช่องว่างทั้งหมดได้ถูกลบออกจากแต่ละสตริงในคอลัมน์ใหม่ที่เรียกว่า tablet_name
ตัวอย่างที่ 2: ลบอักขระเฉพาะออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการลบเครื่องหมายคำถามและเครื่องหมายอัศเจรีย์ทั้งหมดออกจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*remove question marks and exclamation points from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, ' ?! ');
run ;
/*view results*/
proc print data =new_data;

โปรดทราบว่าคำถามและเครื่องหมายอัศเจรีย์ทั้งหมดได้ถูกนำออกจากแต่ละสตริงในคอลัมน์ใหม่ที่เรียกว่า tablet_name แล้ว
ตัวอย่างที่ 3: ลบอักขระตัวอักษรทั้งหมดออกจากสตริง
รหัสต่อไปนี้แสดงวิธีการลบอักขระตัวอักษรทั้งหมดออกจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*remove all alphabetical characters from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' a ');
run ;
/*view results*/
proc print data = new_data;

โปรดทราบว่าอักขระตัวอักษรทั้งหมดได้ถูกลบออกจากแต่ละสตริงในคอลัมน์ใหม่ที่เรียกว่า tablet_name
ตัวอย่างที่ 4: ลบค่าตัวเลขทั้งหมดออกจากสตริง
รหัสต่อไปนี้แสดงวิธีลบค่าตัวเลขทั้งหมดออกจากแต่ละสตริงในคอลัมน์ ชื่อ :
/*remove all numeric values from each string in name column*/
data new_data;
set original_data;
compressed_name = compress (name, '', ' d ');
run ;
/*view results*/
proc print data =new_data;

โปรดทราบว่าค่าตัวเลขทั้งหมดได้ถูกลบออกจากแต่ละสตริงในคอลัมน์ใหม่ที่เรียกว่า tablet_name
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีใช้ฟังก์ชัน SUBSTR ใน SAS
วิธีใช้ฟังก์ชัน FIND ใน SAS
วิธีใช้ฟังก์ชัน COALESCE ใน SAS