SAS编程工作中常见问题(一)

1、在数据步中,要选出排序后数据集中第一个或最后一个变量时,set数据集时需要使用by语句同时在这之前对数据集要按这个变量进行排序。
data ...;
  set ...;
  by xx;
  if last./first.xx;
  output;
run;
2、当变量第一次出现时,变量长度就确定了。之后虽然重新定义变量,但是变量长度不会改变,可能会出现变量截断的情况。
例如:在原始数据集中变量var1的长度是8,而在创建的新数据集中希望能重新定义。
data test1;
  set test;
  length var1 $12.;
run;
结果:在新的数据集中var1的长度并未改变,长度仍为8。length语句应放在set语句之前,首先定义var1的长度。
3、使用output时,要注意output的使用位置不同,输出结果不同。
data temp;
  length group $15. age $15.;
    do group = 'A', 'B', 'C' ,'D' ,'E';
      do set=1 to 3;
        output;
      end;
    end;
run;
4、使用proc transpose之前,不要忘记使用proc sort对变量进行排序(只要有by语句就必须先排序)。

。。。。。。。。。。。。。。。。。

版权原因,完整文章,请参考如下:SAS编程工作中常见问题(一)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值