SAS(八)SAS之DATA步--文件操作语句

本文详细介绍了SAS中的DATA步,包括DATA语句、Input语句、Cards语句、Put语句、File语句、By语句、Set语句、Merge语句、Update语句和Infile语句的用法。DATA步主要用于数据的读取、编辑和整理,通过各种语句实现数据的输入、输出和控制。文中还提供了实例解析各个语句的功能和应用场景。
摘要由CSDN通过智能技术生成

SAS(八)DATA步

绝大部分的SAS语句都可分为两步:DATA步(打开、编辑、整理数据)和PROC步(分析、处理、显示数据)组成的,今天我们来学习DATA步相关知识点。

DATA步主要是运用到以下四个类型的语句:

  • 文件操作语句
  • 运行语句
  • 控制语句
  • 信息语句

在学习这种类型语句之前,先学习DATA步的流程

  • DATA语句标志了数据步开始,并指定了数据步结束时要生成的数据集名字。
  • 每次读入一行数据,读入后执行数据步中的其它语句,循环数据步读取整个数据。
  • _N_变量表示DATA步已经执行的次数
  • _error_变量值为1时表示程序出错
data flow;                                                                                                                              
file print;                                                                                                                             
  /*put x= y= z= _n_;*/                                                                                                                 
  input x y;                                                                                                                            
  z=x+y;                                                                                                                                
  put x= y= z=;                                                                                                                         
  put _n_= _error_=;                                                                                                                    
  cards;                                                                                                                                
10 20                                                                                                                                   
100 200                                                                                                                                 
1000 2000                                                                                                                               
;                                                                                                                                       
run;                                                                                                                                    
                                                                                                                                        
proc print data=flow;                                                                                                                   
title ' ';                                                                                                                              
run;

输出:

 

读外部数据时,数据步迭代 ( 即每一次 ) 的开始把变量的值置为缺失值,有几种情况例外:
1 retain 语句提到的变量
2 sum 语句中创建的变量
3 、数组 _temporary_ 中的数据元
4 file infile 语句选项中创建的变量
5 、自动变量
sas 数据集时,只在第一次迭代时把变量值置为缺失,以后变量保留其值直至新值写入

 

 

文件操作语句

DATA语句

DATA 语句的选项
DROP 选项 ( 不列出某些变量 )
KEEP
选项 ( 列出某些变量 )
LABEL
选项 ( 给数据集加标签 )
RENAME
选项 ( 重命名变量 )

 

首先这个是flow的数据集

 

data new1(drop=z);                                                                                                                      
  set flow;                                                                                                                             
run;                                                                                                                                    
data new2(keep=x);                                                                                                                      
  set flow;                                                                                                                             
run;                                                                                                                                    
data new3(label='the new3 dataset');                                                                                                    
  set flow;                                                                                                                             
run;                                                                                                                                    
data new4(rename=(x=xx y=yy));                                                                                                          
  set flow;                                                                                                                             
run;                                                                                                                                    
proc print data=new1;                                                                                                                   
run;                                                                                                                                    
proc print data=new2;                                                                                                                   
run;                                                                                                                                    
proc print data=new3;                                                                                                                   
run;                                                                                                                                    
proc print data=new4;   
  • 6
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路易三十六

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值