如何将SAS中的所有列乘以另一列?

时间:2017-04-03 03:28:43

标签: sql sas

假设数据集如下:

A  B  C
1  2  0.2   
2  7  0.3
3  10 0.7

我希望将A列和B列乘以C并更新值?最有效的方法是什么?

3 个答案:

答案 0 :(得分:1)

也许我误解了,但这是非常基本的。然后,基础知识是最重要的一点。

data begin;
    input A  B  C;
    cards;
    1  2  0.2   
    2  7  0.3
    3  10 0.7
    ; 
run;

data wanted;
    set begin;
    AC=A*C;
    BC=B*C;
run;

答案 1 :(得分:0)

/* Here is an easy example.*/
/*Your first data set*/
data fisrt;
input A B C;
datalines;
1  2  0.2   
2  7  0.3
3  10 0.7
;
run;

/*The data you want to get*/

data product;
set first;
AC=A*C;
BC=B*C;
run;

答案 2 :(得分:0)

由于您只是想更新a和b的值,请尝试以下方法:

case when (TEAR.REASONS_FOR_TEARDOWN in (21, 17) 
        and (
          select COUNT(ELEMENTNAME)
          from EINSPECTION_TABLE T
            inner join EINSPECTION_MAIN M 
              on T.ELEMENTID = M.ELEMENTID
          where ELEMENTTYPE = 'TD' 
            and ENGINEID = 1650 
            and status in (1126, 1127)
            ) > 1
          ) 
      then 'YC'
    else null
    end

或者,您可以尝试:

data product;
set first;
A=A*C;
B=B*C;
run;

然后比较运行时间以查看哪一个运行得更快