Sas: วิธีใช้ contains ใน proc sql


คุณสามารถใช้ตัวดำเนินการ CONTAINS ในคำสั่ง SQL PROC ใน SAS เพื่อส่งคืนเฉพาะแถวที่ตัวแปรในชุดข้อมูลมีรูปแบบสตริง

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

 /*create dataset*/
data my_data;
    input team $points;
    datalines ;
Cavs 12
Cavs 14
Warriors 15
Hawks 18
Mavs 31
Mavs 32
Mavs 35
Celtics 36
Celtics 40
;
run ;

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

ตัวอย่างที่ 1: เลือกแถวที่ตัวแปรมีรูปแบบ

เราสามารถใช้ตัวดำเนินการ CONTAINS ใน PROC SQL เพื่อเลือกเฉพาะแถวที่ทีมมีรูปแบบ “avs” อยู่ที่ไหนสักแห่งในชื่อ:

 /*select all rows where team contains 'avs'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs';
quit ; 

โปรดทราบว่าจะมีการส่งคืนเฉพาะบรรทัดที่ทีมมี “avs” อยู่ที่ไหนสักแห่งในชื่อ

ตัวอย่างที่ 2: เลือกแถวที่ตัวแปรมีรูปแบบใดรูปแบบหนึ่ง

เราสามารถใช้ตัวดำเนินการ CONTAINS ใน PROC SQL เพื่อเลือกเฉพาะแถวที่ทีมมีรูปแบบ “avs” หรือ รูปแบบ “ics” ที่ไหนสักแห่งในชื่อ:

 /*select all rows where team contains 'avs' or 'ics'*/ 
proc sql ;
   select *
   from my_data
   where team contains 'avs' or team contains 'ics';
quit ; 

เฉพาะบรรทัดที่ทีมมี “avs” หรือ “ics” อยู่ที่ไหนสักแห่งในชื่อเท่านั้นที่จะถูกส่งคืน

ตัวอย่างที่ 3: เลือกแถวที่ตัวแปรไม่มีรูปแบบ

สิ่งที่ตรงกันข้ามกับตัวดำเนินการ CONTAINS ใน PROC SQL คือ NOT CONTAINS ซึ่งเลือกแถวที่ตัวแปรบางตัวในชุดข้อมูล ไม่มี รูปแบบสตริงที่แน่นอน

รหัสต่อไปนี้แสดงวิธีใช้ตัวดำเนินการ NOT CONTAINS เพื่อเลือกแถวทั้งหมดที่มีชื่อทีมไม่มี “avs”:

 /*select all rows where team does not contain 'avs'*/
proc sql ;
   select *
   from my_data
   where team not contains 'avs';
quit ; 

โปรดทราบว่าเฉพาะบรรทัดที่ทีมไม่มี “avs” อยู่ในชื่อเท่านั้นที่จะถูกส่งคืน

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

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

SAS: วิธีใช้ UNION ใน PROC SQL
SAS: วิธีใช้ยกเว้นใน PROC SQL
SAS: วิธีใช้ตัวดำเนินการ IN ใน PROC SQL
SAS: วิธีใช้ตัวดำเนินการ WHERE ใน PROC SQL

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

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