SAS一般语法
来源:互联网 发布:java list clear 编辑:程序博客网 时间:2024/05/21 22:28
数据处理
数据部的一般语法:
data dataname;set datas;length v1 8. v2 $12. v3 $12.;v1=2;v2='snake';v3="my name is:"||v2; run;proc print;run;
连接字符和字符变量用||。
数据类型转换(input;put)
主要是input把字符转数值,put把数值转字符。sas有自动转化功能但尽量自己定义。
data testin; input sale $9.; fmtsale=input(sale,comma9.); datalines; /*输出为2,115,353*/
累加累乘(retain)
data mydt; set dt; retain sx 0; sx=sx+x; run; /*表示累加,1表示累乘*/
排序(sort,by)
必须先用sort排序,然后用by分组.if 语句如果是代码块则用if ex then do;ex…;end;
data dtname; set dtname1;proc sort data=dtname; by v2;run;data dtname2(keep=v2 sum_v1); set dtname1; retain sum_v1; if first.v2 then sum_v1=0; else sum_v1=sum_v1+v1; if last.v2; by v2;run;proc print;run;
分表输出(if,output)
data t1 t2;set tdname;if ex1 then output t1;if ex2 then output t2;run;
条件语句(where,if)
data tt(where=(exp));set et;run;
与下面的输出可能不同,下面语句只循环了子集,上面全部循环后取子集。
data tt;set et;where exp;run;
sas改字符编码(modify)
proc datasets library=libname; modify tname/correctencoding=utf8;quit;
合并数据集(merge)
合并之前首先要对要合并的数据进行排序,然后用merge来合并。merge table(in=a)in是数据集选项,通过in临时生成一个逻辑变量a,用来决定合并的方式。
proc sort t1;by id;run;proc sort t2;by id;run;data nt;merge t1(in=a) t2(in=b);if a and b;run;
SQL处理
proc sql;create table t as select a.v1,a.v2,a.id,b.v1,b.id from t1 as a left join t2 as b on a.id=b.id where ... group by . having ... order by .; quit;
宏
宏编程要点:区分大小写;in后面不要();
%macro mname(para); proc print data=tname; %if exp %then %do; act1; act2; %end; %else act3run;
宏做循环
%macro mn;data _null_;set tn;call symputx('vn'||left(var),vlabel);run;%do num=1 to n;proc means data=tn sum mean maxdec=2; where express; var v1 v2;run;%end;
0 0
- SAS一般语法
- SAS进阶《深入解析SAS》之SAS数据挖掘的一般流程
- sas
- sas
- sAS
- sas
- SAS
- SAS
- sas
- SAS
- C#语法的一般特性
- doxygen注释语法(三):一般约定
- sql学习笔记(3)-----------一般语法
- 自定义SparkSql语法的一般步骤
- C++语法巧题(一般被用做面试题)
- 在SQL中存储过程的一般语法是什么
- SQL中存储过程的一般语法是什么?
- 一般
- 几种线程池的使用详解
- assert()函数用法总结
- Web.xml配置详解
- [高精度] Poj2389 Bull Math
- Spring MVC 后台获取前台form参数值(requestparam)
- SAS一般语法
- 中断与中断处理(二)
- 手动脱Mole Box V2.6.5壳实战
- Python 3.4 install lxml
- 六款值得推荐的android(安卓)开源框架简介
- ASP的2种开发模式
- dns服务器
- c/c++混合编程
- HDU 1671 Phone List (Trie)