2017-03-21 36 views
0

我想創建一個新列並根據3個變量的組合來分配一個值。例如,如果電池壽命爲4,RAM(GB)爲3,HD Size(GB)爲40,則在新變量'Laptop_Class'中分配80。還有其他組合。我如何在SAS中使用proc SQL?在SAS中選擇​​語句時

回答

0

您可以在PROC SQL中執行此操作,但數據步驟代碼更少且更直觀。

data have; 
set have; 

if battery_life = 4 and ram = 3 and hd_size = 40 then 
    new_var=80; 
else if .... then 
... 
run; 
0

SQL替代數據步驟的if/then是CASE WHEN

proc sql; 
    create table test as select 
     t1.*, 

     case 
      when t1.battery_life = 4 and t1.ram = 3 and t1.hd_size = 40 then 80 
      when ......... then 70 
      when ......... then 60 
     end as new_column 

    from source_table t1; 
quit;