วิธีตรวจสอบว่ามีชุดข้อมูลอยู่ใน 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

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

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