SAS学习经验总结分享:篇二—input语句
SAS编程语言中input语句的应用
SAS数据步的建立离不开input语句,在读入外部数据或cards语句后面的数据块时需要通过input语句定义变量。下面介绍input语句定义变量的四种方法: SAS变量分为字符型和数值型,字符型变量加 $ 符号。
(本文为博主原创,转载必须标明出处:http://www.cnblogs.com/smallcrystal/p/4841119.html )
input 变量1 变量2 $;/*只列出变量名,变量之间以空格分隔,只是字符类型加$符号。缺点:不能输入带空格的数据,并且字符类型数据最多8个字符。*/
input 变量1 1-X 变量2 $ X+1-Y;/*变量名用列格式定义对应的数据,变量名后的数字指明变量对应的数据所对应的列的位置。缺点:变量数据要严格按照列格式对应的列输入。*/
input 变量1 $变量1总长度.小数位数 变量2 变量2总长度. ;/*指明变量的类型,变量长度。缺点:需要严格按照列格式输入数据。*/
input @变量名1 $变量长度.小数位数;/*通过绝对指针的方式读入变量对应的数据。确定:把变量对应的列位置计算出来。*/
上述第三种是常用的一种方式,对于数据包含特殊字符的情况,可以通过格式修饰符的形式进行处理,格式修饰符包括以下三种:
冒号(:):从非空单元格开始读取数据,直到满足下面任意情况:(1)遇到下一个空格(2)变量长度已读满(3)数据行结束。例:input 变量1 :$变量长度. 变量2 @;加冒号之后数据输入时不用严格按照数据长度对应列排布了,因为遇到空格即使长度不够也会停止。这是比input第三种读取方式的优势所在。
&:修饰数据中含有空格的字符数据。例:input 变量1 &:$长度.小数位数 变量2 长度.小数位数 @;
~修饰读取数据对应的列包含单引号、双引号或分隔符的字符列,input 变量1 ~&:$变量长度.小数位数 变量2 变量长度.小数位数;
input 变量中日期和时间变量是转化成数值型变量储存的,读入日期格式的方法:
input 变量名1 $ 变量名2 $ 变量名3 datew.; 日期格式datew.默认为7,w指日期长度,格式ddmmmyy或者ddmmmyyyy,月是应为前三个字符;
input 变量名1 $ 变量名2 $ 变量名3 datetimew.d;日期时间格式datetimew.d,默认16位,我w指日期时间的长度,d小数位用来指定秒的值,ddmmmyyhh:mm:ss.s;
input 变量名1 $ 变量名2 $ 变量名3 Julianw.;读入日期书写格式yydd或yyddd,ddd是按照年初到现在的天数。
其他格式:ddmmyyw. 、mmddyyw.、yymmddw. 、timew.d等
如果认为通过input定义变量的时候设置变量类型及格式较为麻烦,可以先通过informat语句定义变量格式,再用input来引用变量名即可。
如日期变量:informat 变量名 yymmddw.; input 变量名;
字符型变量长度超过8字节,需要在input语句之前通过length语句定义变量长度:length 变量名 $ 长度;
SAS学习经验总结分享:篇二—input语句的更多相关文章
- SAS学习经验总结分享:篇一—数据的读取
第一篇:BASE SAS分为数据步的作用及生成数据集的方式 我是学经济相关专业毕业的,从事数据分析工作近一年,之前一直在用EXCEL,自认为EXCEL掌握的还不错. 今年5月份听说了SAS,便开始学习 ...
- SAS学习经验总结分享:篇三—SAS函数
SAS函数学习 文章为原创,禁止复制或转载,转载请标明出处, http://www.cnblogs.com/smallcrystal/p/4842346.html 1.函数输写格式: 1)一般书写格式 ...
- SAS学习经验总结分享:篇五-过程步的应用
之前已经介绍过BASE SAS分为数据步和过程步,过程步是对数据步生成的数据集进行分析和处理,并挖掘数据信息,写出分析报告做总结评价. (本文为原创,禁止复制或转载,转载务必标明出处:http://w ...
- SAS学习经验总结分享:篇四—SQL过程
SQL过程 SQL过程是实现对数据集或关系数据库的表进行操作的过程,对数据集或关系数据库的表进行查询.修改.创建表.删除数据.插入数据和更新数据等功能.提现了SAS对大型数据库管理系统通用的SQL语言 ...
- 【小程序分享篇 二 】web在线踢人小程序,维持用户只能在一个台电脑持登录状态
最近离职了, 突然记起来还一个小功能没做, 想想也挺简单,留下代码和思路给同事做个参考. 换工作心里挺忐忑, 对未来也充满了憧憬与担忧.(虽然已是老人, 换了N次工作了,但每次心里都和忐忑). 写写代 ...
- Java菜鸟学习笔记(23)--继承篇(二):继承与组合
组合是什么 1.继承和组合都是一种随思想渗透而下的编码方式,其根本目的都是为了复用类,减少重复代码 2.要实现一个类的复用,可以分为组合语法和继承语法 3.组合就是通过将一个对象置于一个新类中,将其作 ...
- Python学习【第五篇】循环语句
Python循环语句 接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的. 编程语言提供了各种控制结构,允许更复杂的执行路径. 循环语句允许我们执行一个语句或语句组多次. Python ...
- 【老司机经验】CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享
CC2530&STM8S105二合一嵌入式学习板设计思路与经验分享 1.缘起 这些年来一直在其他公司的实验箱和别人的开发板上进行教学与开发工作,总是觉得功能设计不那么合意.心里突然冒出个 ...
- 从技术小白到收获BAT研发offer,分享我的学习经验和感悟(赠送相关学习资料)
去年秋季参加了校园招聘,有幸拿到了BAT.头条.网易.滴滴.亚马逊.华为等offer,经过研究生两年的学习积累,终于达成了自己的目标,期间也经历了很多,谨以此文,聊表感叹,也会分享很多我的Java学习 ...
随机推荐
- POJ 2976 Dropping tests(01分数规划入门)
Dropping tests Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11367 Accepted: 3962 D ...
- 【转】 #define用法详解
#define用法详解 1.#define 的作用 在C或C++语言源程序中允许用一个标识符来表示一个字符串,称为“宏”.被定义为“宏”的标识符称为“宏名”.在编译预处理时,对程序中所有出现的“宏 ...
- 适配IPhone X的技巧
#define TabbarHeight ([[UIApplication sharedApplication] statusBarFrame].size.height>20?83:49) // ...
- Using MEF to Set Up Dependency Injection
The Managed Extensibility Framework (MEF) is a built-in set of elements that allows you to “export” ...
- 小记——关于Tilemap图块索引编码
图集 地图 TileMap 导出的 .Tmx 文件记录了地图所有信息,其中编辑好的图块信息会存放在每个图层的 Data 节点下.以下是一个 10x10 的图层,可以看到,Data 节点记录了每个图块对 ...
- 通过使用集合Properties完成JDBC的连接工具类
1.将数据库连接对象所需参数保存在本地文件中 database.properties driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localh ...
- IE/FF/Chrome下document.documentElement和document.body的 scrollHeight/scrollTop/clientHeight 以及判断滚动条是否已拉到页面最底部
DTD已声明 IE document.documentElement.scrollHeight 浏览器所有内容高度 ,document.body.scrollHeight 浏览器所有内容高度 docu ...
- 一种极简的异步超时处理机制设计与实现(C#版)
1.引言 当执行某些动作之后,会期待反馈.最终要么是得到了结果,要么就是超时了.当超时发生时,可能是期望得到通知,或是希望能自动重试,等等.于是设计了一种通用的异步超时的处理机制,以期通过简洁易理解的 ...
- 洛谷—— P2884 [USACO07MAR]每月的费用Monthly Expense
https://www.luogu.org/problemnew/show/P2884 题目描述 Farmer John is an astounding accounting wizard and ...
- ELK之filebeat替代logstash收集日志
filebeat->redis->logstash->elasticsearch 官网下载地址:https://www.elastic.co/downloads/beats/file ...