วิธีใช้ฟังก์ชัน 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

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *