SAS 中的INSERT语句:PROC APPEND

(1)语法格式

PROC APPEND BASE=<libref.>SAS-data-set <DATA=<libref.>SAS-data-set> <FORCE> ;

说明:

proc appenddata=数据集追加到base=过程中;

data=也可以使用new=,两者等价,如果缺省,则取最近创建的数据集;

base=也可以使用out=,两者等价,该选项不允许缺省,但是数据集可以不存在,这样就创建一个以该数据集命名的新数据集,那么这个追加过程就变成了复制过程。

*使用new=out=时,Editor窗口不会自动改变颜色显示为关键字,可能是SAS并不提倡这样使用。

force 这里又碰到force

 

(2)运行机制

proc append先读取base=data=选项中的各数据集的描述部分信息,看看各自变量的情况,然后才执行后面的过程。

·变量不一致时

如果data=数据集中的变量base=数据集中没有,则整个过程不会被执行;如果有force选项则强制执行,并且这些在base=数据集中没有的变量会被删除,LOG窗口中会有提示删除了哪些变量;

如果base=数据集中的变量data=数据集中没有,那追加之后这些变量值被置为缺失值;

·属性不一致时

如果两数据集相同的变量类型不一致时,则整个过程不会被执行,SAS会报错;如果有force选项则强制执行,以base=数据集的类型为准,data=中相应变量值被置为缺失值;

如果两数据集相同的变量长度不一致时,base=数据集中的变量长度大于data=数据集中的变量,则正常执行;如果长度小于,则过程不会被执行,除非有force选项,则将多余的字符截断;

两数据集相同的变量其他属性不一致,如输入输出格式、标签等都以base=数据集中的为准。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值