使用企业指南中的SAS Base创建新列,具体取决于其他列的值

问题描述:

我需要有关SAS Base编程的帮助。 如何使用取决于来自另一列(列column_one)的值的值创建新列(在本例中为列“BONUS”)。 代码我已经试过:使用企业指南中的SAS Base创建新列,具体取决于其他列的值

if (t1.column_one=110) or (t1.column_one=111) 
    then put -(t1.BONUS) * 10 * 10; 
    else put (t1.BONUS) * 10 * 10; 

put语句不创建一个新列。它只是将文本打印到日志中(或者您使用file声明指定的任何其他设备)。

'table [dot] column'表示法在SQL中使用,在作为数据步骤代码的if语句中没有意义。

另外,你说你想创建一个名为BONUS的新列,但是在你的示例代码中,你只是乘以而不是给它赋值。我会假设列已经存在。

有效的,如果条件将被

if column_one in (110,111) then BONUS=-BONUS*100; 
else BONUS=BONUS*100;