• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SAS Input 输入方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

输入方法用于读取原始数据。 原始数据可以来自外部源或来自流数据。 输入语句创建一个变量,其名称将分配给每个字段。 所以你必须在输入语句中创建一个变量。 相同的变量将显示在 SAS 数据集的输出中。 以下是 SAS 中可用的不同输入方法。

  • 列表输入方法
  • 命名输入
  • 列输入方法
  • 格式化输入方法

每个输入方法的细节描述如下。

名单输入法

在此方法中,变量与数据类型一起列出。 仔细分析原始数据,以便声明的变量的顺序与数据匹配。 分隔符(通常为空格)在任何一对相邻列之间应该是一致的。 任何丢失的数据将导致输出中的问题,因为结果将是错误的。

下面的代码和输出显示了使用列表输入法。

DATA TEMP;
INPUT   EMPID ENAME $ DEPT $ ;
DATALINES;
1 Rick  IT
2 Dan  OPS
3 Tusar  IT
4 Pranab  OPS
5 Rasmi  FIN
;
PROC PRINT DATA=TEMP;
RUN;

在运行 bove 代码,我们得到以下输出。


命名输入方法

在此方法中,变量与数据类型一起列出。 原始数据被修改为在匹配数据前面声明变量名。 分隔符(通常为空格)在任何一对相邻列之间应该是一致的。

下面的代码和输出显示使用命名输入法。

DATA TEMP;
INPUT   
EMPID= ENAME= $ DEPT= $ ;
DATALINES;
EMPID=1 ENAME= Rick  DEPT= IT
EMPID=2 ENAME= Dan  DEPT= OPS
EMPID=3 ENAME= Tusar  DEPT= IT
EMPID=4 ENAME= Pranab  DEPT= OPS
EMPID=5 ENAME= Rasmi  DEPT= FIN
;
PROC PRINT DATA=TEMP;
RUN;

在运行 bove 代码,我们得到以下输出。


列输入法

在此方法中,变量列出的数据类型和列宽度指定单列数据的值。 例如,如果员工姓名包含最多 9 个字符,每个员工姓名从第 10 列开始,则员工姓名变量的列宽度将为 10-19。

下面的代码演示如何使用列输入法。

DATA TEMP;
INPUT   EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16;
DATALINES;
14 Rick     IT 
241Dan      OPS 
30 Sanvi    IT 
410Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA=TEMP;
RUN;

当我们执行上面的代码,它会产生以下结果:

格式化输入法( input 语句读取非标准数据的唯一方法 

在该方法中,从固定的起始点读取变量,直到遇到空格。 由于每个变量都有固定的起始点,任何一对变量之间的列数将成为第一个变量的宽度。 字符“@n”用于指定变量的起始列位置为第 n 列。

下面的代码显示了使用格式化输入法

DATA TEMP;
INPUT   @1 EMPID $ @4 ENAME $ @13 DEPT $ ;
DATALINES;
14 Rick     IT 
241 Dan      OPS 
30 Sanvi    IT 
410 Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA=TEMP;
RUN;

当我们执行上面的代码,它会产生以下结果:




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
SAS宏发布时间:2022-02-03
下一篇:
SAS功能发布时间:2022-02-03
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap