Sas: วิธีเปลี่ยนความยาวของตัวแปรอักขระ


วิธีที่ง่ายที่สุดในการเปลี่ยนความยาวของตัวแปรอักขระใน SAS คือการใช้คำสั่ง ALTER TABLE และ MODIFY ใน PROC SQL

เมื่อต้องการทำเช่นนี้ คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้:

 proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

ตัวอย่างนี้เปลี่ยนความยาวของตัวแปรอักขระที่เรียกว่า team ในชุดข้อมูลที่เรียกว่า my_data ให้มีความยาว 4

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: เปลี่ยนความยาวตัวแปรอักขระใน SAS

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ที่มีข้อมูลเกี่ยวกับทีมบาสเก็ตบอลต่างๆ:

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 24
Heat 15
Cavs 26
Heat 14
Mavs 36
Mavs 19
Nets 20
Nets 31
;
run ;

/*view dataset*/
proc print data =my_data; 

เราสามารถใช้ PROC CONTENTS เพื่อแสดงความยาวของตัวแปรแต่ละตัวในชุดข้อมูล:

 /*view length of each variable in dataset*/
proc contents data =my_data;

ตารางสุดท้ายของผลลัพธ์จะแสดงความยาวของตัวแปรแต่ละตัว:

จากตารางนี้เราจะเห็น:

  • ตัวแปร จุด เป็นตัวแปรตัวเลขที่มีความยาว 8
  • ตัวแปร ทีม คือตัวแปรอักขระที่มีความยาว 8

สมมติว่าเราต้องการเปลี่ยนตัวแปร ทีม ให้มีความยาว 4

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อทำสิ่งนี้:

 /*change length of team variable to 4*/
proc sql ;
    alter table my_data
    modify team char( 4 );
quit ;

เราสามารถนำไปใช้งานได้โดยใช้ PROC CONTENTS อีกครั้งเพื่อแสดงความยาวของตัวแปรแต่ละตัวในชุดข้อมูล:

 /*view updated length of each variable in dataset*/
proc contents data =my_data;

ตารางสุดท้ายของผลลัพธ์จะแสดงความยาวของตัวแปรแต่ละตัว:

เราจะเห็นได้ว่าตัวแปร ทีม ตอนนี้มีความยาว 4

ควรสังเกตว่าไม่มีค่าใดในคอลัมน์ ทีม ที่ถูกตัดทอนเนื่องจากชื่อทีมที่ยาวที่สุดมีความยาว 4

อย่างไรก็ตาม หากคุณเปลี่ยนความยาวของตัวแปร ทีม เป็น 3 อักขระตัวสุดท้ายของชื่อทีมบางชื่อก็จะถูกตัดทอน

เมื่อใช้วิธีการนี้ จะไม่มีข้อความเตือนปรากฏขึ้นในกรณีที่มีการตัดทอน ดังนั้นให้แน่ใจว่าคุณทราบความยาวสูงสุดของสตริงในคอลัมน์อักขระของคุณก่อนที่จะใช้วิธีนี้

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:

วิธีแยกตัวเลขจากสตริงใน SAS
วิธีใช้ฟังก์ชัน SUBSTR ใน SAS
วิธีลบอักขระพิเศษออกจากสตริงใน SAS

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

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