使用企业指南中的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;