sas入门之(三)条件语句,循环语句,input语句

sas变量:

  • 字符型变量。定义后家“$”以标识
  • 数值型变量。
  • 数值型常量
  • 字符型常量
  • 日期型常量 有单引号引起的日期,并在后家D,T,DT 分别代表日期,时间,日期时间。如:’12:37’T

sas运算符:

  • 算术运算符:乘方**
  • 比较运算符:
    EQ(=),GT(>) , LT(<), NE(^=)不等于
    GE(>=), LE(<=)

条件语句

  1. if then
if x<0 then x=-x;
  1. if then do: - end
if x<0 then do:
put 'x < 0';
x=-x;
end;
  1. if then else
    注意;没有elseif

4.select
用法

select(条件表达式);
 when(值1) 语句1;
 when(值2) 语句2;
 。。。
 otherwise 语句;
end; 

或者

select;
 when(条件1) 语句1;
 when(条件2) 语句2;
 。。。
 otherwise 语句;
end; 
select语句  
select;  
when (a=1) x=a*10;  
when (a=2);  
when (a in (3.4.5)) x=a*100;  
otherwise;  
end;  

循环语句

  • do 循环
do 循环变量 = 初值 to 终值 by 步长;
   循环体语句快;
end;
  • do-while
do while(循环继续条件);
   循环体语句款;
end;
  • do - until 语句
do while(循环终止条件);
   循环体语句款;
end;

input语句

  • 列表模式
    每个变量为一列数据,变量与变量之间通过分隔符分隔
    缺失的数据需以”.”号表示
input 变量名[$][选项][@/@@];

变量名为输入各列的变量名
输入数据如果是字符型数据,需要在后面加“$”符号
选项参数可用于设置输入数据的格式
input语句缺省的变量分隔符为空格 因此其他分隔符需要设置:"INFILE 文件路径 dlm='分隔符'" 或者"INFILE CARDS dlm='分隔符'" 。
读取的字符串长度为8,超过8个需要通过length定义 "length 变量名$长度"
符号@表示一个数据行仅读取一个数据观测,系统输入完所有变量后会自动转入下一数据行,进行数据读取,默认值。 符号@@表示一个数据行可读取多个观测。

  • 列模式
    按列拍好,没有分隔符
INPUT 变量名1[$]起始列数-终止列数 变量名2[$]起始列数-终止列数...变量名n[$]起始列数-终止列数 

infile

infile 文件路径[选项]
data test2_10;
infile '地址'
delimiter=',';
input x y @@;
put x= y=;
run;

file语句
file要和put联合使用

data test2_12;
file print; /* 结果输出到结果输出窗口*/
do i=1 to 5 by 1;
x=I*I;
put I= x=;
end;
run; 

length

length 变量名[$] 变量长度;

label 语句

label 变量名=标签;
data test2-15;
length city$ 10;
label city='城市' zip='编码';
input city$10 zip;
cards;
birmnigham 35201
run;

keep
drop
where

猜你喜欢

转载自blog.csdn.net/changzoe/article/details/80351011
今日推荐