使用 Enterprise Guide 中的 SAS Base 根据其他列的值创建新列

Create new column depending on values from other column with SAS Base in Enterprise Guide

我需要有关 SAS Base 编程的帮助。 如何创建一个新列(在本例中为列 "BONUS"),其值取决于另一列(列 column_one)的值。 我试过的代码:

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 条件将是

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