SAS-一些有用的语句
今天本想继续介绍
summary过程的,但是发现别人整理的比我更好,于是周末再更,好好整理一下描述性统计分析及评分卡建模,今天给大家介绍一些sas有用的语句吧。

1.如果在同一程序中需要多次调用print语句,用%str可以节省程序书写;
%let print=%str(proc print data=sashelp.class;run;);
&print;
2.查看变量类型;
data a;
set sashelp.class;
w=vtype(age);
run;
3.结构查询语言;
select语句用来检索数据(order从句,format选项) ;
create语句创建表格;
update语句增加或修改表格中列的数值(insert和delete语句插入和删除行,用alter语句增加、修改、删去列)
例子:
data employee;
input empname $ empcity $ empyears emptitle $
sales;
cards;
aa
beijing
3 engineer 2300
bb shangqiu
2 teacher
3000
cc changsha
32 worker
4000
dd changsha
20 salesrep 1000
;
proc sql;
create table changsha
as
select empname,
empcity,
empyears format=yymmdd8.,
sales*2 as totalsales,
emptitle
from employee
where empcity='changsha'
order by empyears asc;
alter table changsha add gender char(1);
update changsha
set gender='f'
where empname in ('aa','cc');
update changsha
set gender='m'
where gender is missing;
insert into
changsha
values('ff', 'changsha',10, 8000,'teacher','m');
delete from
changsha
where
empyears>20;
quit;
proc print data=changsha;
run;
4.计算行数;
%let dsid=%sysfunc(open(sashelp.class,i));
%let n=%sysfunc(attrn(&dsid,nobs));
%let rc=%sysfunc(close(&dsid));
%put obsnum=&n;
5.scan()用法:
data a;
arg='ABC.DEF(X=Y)';
word=scan(arg,-3);
run;
data c;
arg='ABC.DEF(X=Y)';
word=scan(arg,-20);
put word;
run;
data d;
input Arr $ & 22.;
ArrivalGate=scan(Arr,1,' ');
DepartureGate = scan(Arr,2,' ');
put DepartureGate ArrivalGate
arr;
cards;
Arrival DepartureGates
;
run;
6.sysfunc()用法;
data a;
input group $ number point;
cards;
A 1 85
A 2 66
B 1 69
C 3 55
D 4 24
;
run;
%macro macro_name(group,number,point);
data out_&group.;
group="&group";
number=&number.;
point=&point.;
run;
%mend;
%macro test;
*打开存放参数的数据集;
%let dsid=%sysfunc(open(work.a,i));
%put
&dsid;
*%put是在日志输出改宏变量的值;
*fetch是为了判断是否读取完数据集记录,若已读完,则返回-1,否则返回0,赋给宏变量rc;
%let rc=%sysfunc(fetch(&dsid));
%do %while(&rc=0);
*trim是去掉字符右边的空格,left是去掉字符左边的空格,getvarc(&dsid,1)是读取数据集的第一列,
读取第二列则为getvarc(&dsid,2),getvarc是针对字符,若该列是数值型的则为getvarn(&dsid,2);
%let
group=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarc(&dsid,1))))));
%let
number=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarn(&dsid,2))))));
%let
point=%sysfunc(trim(%sysfunc(left(%sysfunc(getvarn(&dsid,3))))));
%put
&group;
%put
&number;
%put &point;
%macro_name(&group,&number,&point);*将参数传给调用你所需要运行的宏macro_name;
%let
rc=%sysfunc(fetch(&dsid));
*同上fetch;
%put &rc;
%end;
%let
rc=%sysfunc(close(&dsid));
*关闭数据集;
%put &rc;
%mend;
%test;
SAS-一些有用的语句的更多相关文章
- SAS笔记(2) RETAIN语句
本文重点: 使用RETIAN,INPUT在每次循环执行时保留上一次PDV中的变量值. SUM语句和SET语句会自动RETAIN变量. 1. RETAIN语句 1.1 Example 1 先来看看在DA ...
- SQLServer 一些有用的语句
SET STATISTICS TIME ON 记录查询的相关数据 生成随机Guid SELECT NewID() 按照某一列排序并生成序号 select Row_Number() OVER (ORDE ...
- 笔试题: 数据库 已看1 一些关键的sql语句练习 和选择题 有用 sql语句练习 挺好
一. 选择题 1.SQL语言是( C )语言. A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库 redis 是 3.如果在where子句中有两个条件要同时满足,应该用哪个 ...
- mysql很有用的语句
1)删除表内所有数据: 再添加数据时,如果设有自动增加的id,那么id也会重置. truncate table 表名; 2)创建结构相同的数据库表 create table 数据库名.新表名 like ...
- mysql不常用但很有用的语句整理
mysqld_multi多实例停止.启动 mysqld_multi --defaults-file=/etc/my.cnf start 1,2 mysqld_multi --defaults-file ...
- 有用sql语句一
DECLARE @retval int, @param1 int EXECUTE @retval=master.dbo.xp_fileexist 'D:\TkSoft\SamplePic\Fabric ...
- SAS笔记
SAS基础知识 SAS里面的PROC一览 The ACECLUS Procedure : 聚类的协方差矩阵近似估计(approximate covariance estimation for clus ...
- SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础
SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...
- 【转】SQL常用的语句和函数
原文链接:http://www.cnblogs.com/mailingfeng/archive/2013/01/07/2850116.html order by 的数值型灵活使用 select * f ...
随机推荐
- error: stray ‘\357’ in program——输入了中文的标点符号
/home/qian/Pioneer/src/network/src/WiFi_connect.cpp::: error: stray ‘\’ in program sockfd = socket(A ...
- Web API 接口说明文档
1.采用 Web API Help Page 显示效果 2.swaggerui 创建文档接口 效果图 3.swagger ui 安装配置 nuget 安装 2.设置xml文件 3.配置根路径 预览sw ...
- php循环语句(一)
PHP 循环语句 什么是循环语句? 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句.一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件.循环结构是在一定 ...
- 工控安全入门(七)—— plc的网络
上一篇我们详细分析了bootram和Vxworks的基本启动流程,这篇文章中我们把视线转到plc的网络部分,同时来复现我们第一个.第二个工控安全漏洞. VxWorks的网络设备驱动 一般我们说有三种设 ...
- ArcMap应用——三维场景中井盖的属性配置
在精细三维场景中,有地面(包括道路面.马路牙子).有部件数据(包括井盖).我们会发现有马路牙子的地方比道路面要高出一部分,比如0.1米,但是雨水井盖却有些在路面上.有些在道路以外.就是说在道路面上的井 ...
- AppbarLayout的简单用法
在许多App中看到, toolbar有收缩和扩展的效果, 例如: appbar.gif 要实现这样的效果, 需要用到: CoordinatorLayout和AppbarLayout的配合, 以及实 ...
- 关于Cocos2d-x多线程异步载入资源的问题
我们通常使用CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("xxx.plist" ...
- Python学习 备注
python 3.x中urllib库和urilib2库合并成了urllib库..其中urllib2.urlopen()变成了urllib.request.urlopen() urllib2.Reque ...
- groups 用户所归属的用户组查询
groups 用法很简单,就是查询用户所归属哪个或哪些用户组: 语法格式: groups 用户名 实例: [beinan@localhost ~]$ groups beinan 注:查询bein ...
- 5.appium命令行环境搭建及参数使用
1.安装淘宝npm(cnpm) (1)输入以下命令 :npm install -g cnpm --registry=https://registry.npm.taobao.org (2)输入cnpm ...