公卫百科 >> PROC_APPEND >> 历史版本
编辑时间历史版本内容长度图片数目录数修改原因
01-31 20:29 最新历史版本 1401 0 0 新增内容
上一历史版本 |   返回词条

PROC_APPEND

SAS 中的INSERT语句:PROC APPEND 
(1)语法格式

PROC APPEND BASE=SAS-data-set SAS-data-set> ;

说明:

proc append将data=数据集追加到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=数据集中的为准。

标签