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


คุณสามารถใช้คำสั่ง UPDATE ใน PROC SQL ใน SAS เพื่ออัปเดตค่าในหนึ่งคอลัมน์ขึ้นไปในชุดข้อมูล

ต่อไปนี้เป็นวิธีทั่วไปในการใช้คำสั่ง UPDATE ในทางปฏิบัติ:

วิธีที่ 1: อัปเดตค่าในคอลัมน์ตามเงื่อนไข

 proc sql ;
    update my_data
    set var1='new_value'
    where var1='old_value';
quit ;

วิธีที่ 2: อัปเดตค่าในคอลัมน์ตามเงื่อนไขหลายประการ

 proc sql ;
    update my_data
    set var1 = 
    case when var1> 25 then 100
    when var1> 20 then 50
    else 0
    end;
quit ;

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

 /*create dataset*/
data my_data;
    input team $position $points;
    datalines ;
A Guard 22
A Guard 20
A Guard 30
A Forward 14
A Forward 11
B Guard 12
B Guard 22
B Forward 30
B Forward 9
B Forward 12
B Forward 25
;
run ;

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

ตัวอย่างที่ 1: อัปเดตค่าในคอลัมน์ตามเงื่อนไข

เราสามารถใช้คำสั่ง UPDATE ต่อไปนี้ใน PROC SQL เพื่ออัปเดตค่าคอลัมน์ทีมแต่ละค่าให้เป็น “Atlanta” โดยที่ค่าที่มีอยู่เท่ากับ “A”:

 /*update values in team column where team is equal to 'A'*/
proc sql ;
    update my_data
    set team='Atlanta'
    where team='A';
quit ;

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

โปรดทราบว่าแต่ละค่าในคอลัมน์ทีมที่ก่อนหน้านี้เท่ากับ “A” ตอนนี้จะเท่ากับ “Atlanta”

ค่าใด ๆ ที่ไม่เท่ากับ “A” ในคอลัมน์ทีมจะไม่เปลี่ยนแปลง

ตัวอย่างที่ 2: อัปเดตค่าในคอลัมน์ตามเงื่อนไขหลายข้อ

เราสามารถใช้คำสั่ง UPDATE ต่อไปนี้ใน PROC SQL เพื่ออัปเดตแต่ละค่าในคอลัมน์จุดตามเงื่อนไขหลายประการ:

 /*update values in points column based on multiple conditions*/
proc sql ;
    update my_data
    set points = 
    case when points> 25 then 100
    when points> 20 then 50
    else 0
    end;
quit ;

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

เราใช้คำสั่ง UPDATE กับคำสั่ง CASE WHEN เพื่ออัพเดตค่าในคอลัมน์จุด

โดยเฉพาะ:

  • หากค่าที่มีอยู่ในคอลัมน์คะแนนมากกว่า 25 เราจะอัปเดตเป็น 100
  • มิฉะนั้น หากค่าที่มีอยู่ในคอลัมน์คะแนนมากกว่า 20 เราจะอัปเดตเป็น 50
  • มิฉะนั้น เราจะอัปเดตค่าในคอลัมน์คะแนนให้เป็น 0

โปรดทราบว่าเราใช้เพียงสามเงื่อนไขในคำสั่ง CASE WHEN แต่คุณสามารถใช้เงื่อนไขได้มากเท่าที่คุณต้องการ

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

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

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

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

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