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