วิธีตรวจสอบว่ามีชุดข้อมูลอยู่ใน sas หรือไม่ (พร้อมตัวอย่าง)
คุณสามารถใช้มาโครต่อไปนี้ใน SAS เพื่อตรวจสอบอย่างรวดเร็วว่ามีชุดข้อมูลอยู่หรือไม่:
%macro check_exists(data);
%if %sysfunc ( exist (&data.)) %then %do ;
%put Dataset Exists;
%end ;
%else %do ;
%put Dataset Does Not Exist;
%end ;
%mend check_exists;
เมื่อคุณเรียกใช้แมโครนี้ จะส่งกลับ “ชุดข้อมูลที่มีอยู่” ถ้ามีชุดข้อมูลอยู่
มิฉะนั้นจะส่งคืน “ไม่มีอยู่”
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แมโครนี้ในทางปฏิบัติ
ตัวอย่าง: ตรวจสอบว่ามีชุดข้อมูลอยู่ใน SAS หรือไม่
สมมติว่าเราสร้างชุดข้อมูลต่อไปนี้ใน SAS ชื่อ data1 :
/*create dataset*/
data data1;
input hours score;
datalines ;
1 64
2 66
4 76
5 73
5 74
6 81
6 83
7 82
8 80
10 88
;
run ;
/*view dataset*/
proc print data =data1;

เราสามารถกำหนดมาโครต่อไปนี้เพื่อตรวจสอบว่ามีชุดข้อมูลอยู่หรือไม่:
%macro check_exists(data);
%if %sysfunc ( exist (&data.)) %then %do ;
%put Dataset Exists;
%end ;
%else %do ;
%put Dataset Does Not Exist;
%end ;
%mend check_exists;
จากนั้นเราสามารถเรียกใช้แมโครนี้เพื่อตรวจสอบว่ามีชุดข้อมูลชื่อ data1 อยู่หรือไม่:
/*check if dataset called data1 exists*/
%check_exists (data1);
เมื่อเราดูบันทึก เราจะเห็นว่ามาโครส่งคืน “Does Exist” เนื่องจาก data1 ไม่มีอยู่:

ตอนนี้ สมมติว่าเราเรียกใช้แมโครเพื่อตรวจสอบว่ามีชุดข้อมูลชื่อ data2 อยู่หรือไม่:
/*check if dataset called data2 exists*/
%check_exists (data2);
เมื่อเราดูบันทึก เราจะเห็นว่ามาโครส่งคืน Does Not Exist เนื่องจากไม่เคยสร้างชุดข้อมูลชื่อ data2

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