วิธีใช้ if-then-do ใน sas (พร้อมตัวอย่าง)
คุณสามารถใช้คำสั่ง IF-THEN-DO ใน SAS เพื่อ ดำเนินการ บล็อกคำสั่งได้ หาก เงื่อนไขเป็นจริง
คำสั่งนี้ใช้ไวยากรณ์พื้นฐานต่อไปนี้:
if var1 = " value " then do ;
new_var2 = 10;
new_var3 = 5;
end ;
หมายเหตุ : คำสั่ง IF-THEN จะใช้เมื่อคุณต้องการดำเนินการคำสั่ง เดียว คำสั่ง IF-THEN-DO จะใช้เมื่อคุณต้องการดำเนินการหลายคำสั่ง
ตัวอย่างต่อไปนี้แสดงวิธีการใช้คำสั่ง IF-THEN-DO ในทางปฏิบัติ
ตัวอย่าง: IF-THEN-DO ใน SAS
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน SAS ที่แสดงยอดขายรวมของร้านค้าสองแห่งในวันติดต่อกัน:
/*create dataset*/
data original_data;
input store $sales;
datalines ;
At 14
At 19
At 22
At 20
At 16
At 26
B40
B43
B29
B 30
B35
B 33
;
run ;
/*view dataset*/
proc print data = original_data;
เราสามารถใช้คำสั่ง IF-THEN-DO ต่อไปนี้เพื่อสร้างตัวแปรใหม่สองตัวที่รับค่าบางอย่างหากร้านค้าเท่ากับ “A” ในชุดข้อมูลดั้งเดิม:
/*create new dataset*/ data new_data; set original_data; if store = " A " then do ; region=" East "; country=" Canada "; end ; run ; /*view new dataset*/ proc print data =new_data;
โค้ดชิ้นนี้ทำงานอย่างไร:
หากร้านค้าเท่ากับ “A” แสดงว่าตัวแปรใหม่ที่เรียกว่า ภูมิภาค จะถูกสร้างขึ้นด้วยค่า “ตะวันออก” และ ตัวแปรใหม่ที่เรียกว่า ประเทศ จะถูกสร้างขึ้นด้วยค่า “แคนาดา”
โปรดทราบว่าเรายังสามารถใช้คำสั่ง IF-THEN-DO หลายคำสั่งได้:
/*create new dataset*/ data new_data; set original_data; if store = " A " then do ; region=" East "; country=" Canada "; end ; if store = " B " then do ; region=" West "; country=" USA "; end ; run ; /*view new dataset*/ proc print data =new_data;
โค้ดชิ้นนี้ทำงานอย่างไร:
- หากร้านค้าเท่ากับ “A” แสดงว่าตัวแปรใหม่ที่เรียกว่า ภูมิภาค จะถูกสร้างขึ้นด้วยค่า “ตะวันออก” และตัวแปรใหม่ที่เรียกว่า ประเทศ จะถูกสร้างขึ้นด้วยค่า “แคนาดา”
- หากร้านค้าเท่ากับ “B” ค่า ภูมิภาค จะเป็น “ตะวันตก” และค่า ประเทศ คือ “สหรัฐอเมริกา”
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการงานทั่วไปอื่นๆ ใน SAS:
วิธีทำให้ข้อมูลเป็นมาตรฐานใน SAS
วิธีลบรายการที่ซ้ำกันใน SAS
วิธีแทนที่ค่าที่หายไปด้วยศูนย์ใน SAS