基本命令是这样的:
proc sort data=a;
by conm;
data a
set b;
if first.conm then var1=".";
run;
但是事实需要的是如果是第一个公司var2="." 并且 var3="."
我用了 if first.conm then var1="." and var2="." and var3=“."
就出现了相当奇怪的现象:
首先,var1的每组第一个 conm对应的var 1全变成了 0;(本来应该是".")
其次,var2 和var3 的只有第一个 conm对应的var2 和var3是".", 其他全部是原来的数据,没被替换掉;
但是如果我分开用if then句子:
也即if first.conm then var1=".";
if first.conm then var2=".‘;
这样出现的结果就是正常的,也即每组的的一个var1和var2全部是 ".";
这是怎么回事呢?
我能不能用一个if句实现我的目的呢?(让每组的的一个var1和var2全部是 ".") 是因为我"and"用的不对?
很想优化程序语言,大家有何高见?
--------------------------------------------
解决了,初学者,偶很菜。
用if then do;
就可以了。。。。。
祝大家天天进步!!!