APPEND过程是SAS系统内部已经编译好的过程,可以把一个数据集或关系数据库表的数据添加到一个新数据集或数据库表中。通过APPEND过程可以根据需求通过WHERE语句等条件进行过滤。APPEND过程同时可以实现把数据文件生成的数据集装载到数据库表中等功能。
APPEND过程就是把一个数据集的数据装载到另一个数据集、数据仓库或关系数据库的表中。
语法格式:
【语法解读】
●PROC:过程步关键字,指明用来调用SAS内部过程。
●APPEND:调用的过程名。
APPEND过程说明见表8-1。
表8-1 APPEND过程说明
【注意】 APPEND过程运行时先读取BASE=<逻辑库名.>数据集名和DATA=数据集名两个数据集的描述信息,看数据集各自的对应变量、类型和变量长度是否一致。如果BASE=数据集中的变量在DATA=数据集中不存在,则BASE=数据集中的相应变量为缺失值,用点(.)表示;如果DATA=数据集中的变量在对应的BASE=数据集中没有找到,此时追加数据的过程不会被执行,如果加上FORCE参数,这些缺失的变量在BASE=数据集中会被删除,程序会继续执行下去;如果BASE=数据集中的变量和DATA=数据集中的变量两个数据集相同但变量类型不一致,SAS会报错并停止执行,加上FORCE可以强制执行,但以BASE=数据集变量为数据类型。
【说明】 实际应用中,APPEND过程中的BASE=和DATA=指明的两个数据集或关系数据库中表的数据结构一样。实现数据追加,也就是装载,不对DATA=数据集做任何处理。同时如果重复运行APPEND过程,BASE=指定数据集或表数据会出现重复数据。