在SAS中选择​​When Statement

时间:2017-03-21 15:48:17

标签: sas

我想创建一个新列,并根据3个变量的组合分配一个值。例如,如果电池寿命为4,RAM(GB)为3,HD大小(GB)为40,则在新变量“Laptop_Class”中分配80。还有其他组合。如何在SAS中使用proc SQL?

2 个答案:

答案 0 :(得分: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;

答案 1 :(得分:0)

SQL替代数据步骤if / then is 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;