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学习 ...
随机推荐
- BZOJ 1067 降雨量(RMQ-ST+有毒的分类讨论)
1067: [SCOI2007]降雨量 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 4399 Solved: 1182 [Submit][Stat ...
- 洛谷P3803 【模板】多项式乘法(FFT) 【fft】
题目 这是一道FFT模板题 输入格式 给定一个n次多项式F(x),和一个m次多项式G(x). 请求出F(x)和G(x)的卷积. 输出格式 第一行2个正整数n,m. 接下来一行n+1个数字,从低到高表示 ...
- UVA 1619/POJ2796 滑窗算法/维护一个单调栈
Feel Good Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 12409 Accepted: 3484 Case T ...
- vue基础教程
1.执行npm install 2.安装stylus,(npm install之后node_module已经有了stylus,但还是要再安装一次) npm install --save-dev sty ...
- element el-cascader设置默认值
原文:https://www.jianshu.com/p/b690d7fe6ec0 注意两点就行了 <el-form-item label="AP名称"> <el ...
- Date()和new Date()区别
当任意一个普通函数用于创建一类对象时,它就被称作构造函数,或构造器. new操作符来调用一个构造函数时,创建一个空对象obj, 将这个空对象的__proto__成员指向了构造函数对象的prototyp ...
- 让python和C/C++联姻【转】
python不在孤单,轻易而举的为python写C/C++第三方库. 我们都知道python很慢,特别是处理大数据的时候,简直慢到极致,如果在知道代码的瓶颈的时候,可以将需要大量计算的数据块放在C/C ...
- BZOJ 2728: [HNOI2012]与非
2728: [HNOI2012]与非 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 786 Solved: 371[Submit][Status][ ...
- kernel thread vs user thread
The most important difference is they use different memory, the kernel mode thread can access any ke ...
- 《Linux命令行与shell脚本编程大全 第3版》Linux命令行---45
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: