列指针控制:
(1)绝对指针控制=>数值型
三种形式: @数字、@指针变量、@表达式
input @15 sales 5.; /*形式1: @数字*/
A=25; input num 1-6 @A num $ 10.; /*形式2: @指针变量*/
data one;
b=2;
input @(b*3) grade @1 a 3.; /*形式3: @表达式*/
datalines;
1234567 343454
;
proc print;
run;
输出结果:
Obs b grade a
1 2 67 123
(2)绝对指针控制=>字符型
三种形式:@’字符串’,@字符变量,@字符表达式
data one;
input @'size=' a 3.;
datalines;
li li f19size=343454
wang da zhi m 20size=123456
proc print;
run;
输出结果:
Obs a
1 343
2 123
(3)相对指针控制 只有数字型
三种形式:+n,+指针变量,+表达式,意指把指针从当前位置移过指定的位数
负数表示指针往左移动
e.g:
input @23 length 4. +5 width;
m=-1; input x 1-10 +m y 2.;
input x 1-10 +(-1) y 2.;
行指针控制: 适用于一个观测值占有多个输入行的情况
4种形式:#n,#指针变量,#表达式,/
input语句中,#号后最大的数字决定每个观测占有多少行
/表示把指针移动到下一输入行的第一列
当每个观测有多个输入行,但不从最后一行读取数据的时候,在input语句末尾必须使用#将指针移到最后一行。
e.g:
input @31 age 3. #3 id 3-4 #2 @6 name $ 20.;
input name $ 1-10 #2 age 13-14 #4;
input age grade/score1-score5;
input a / b #1 @52 c #2;
删除列:drop 删除行:delete
输入值不换行: input xx @@
输出值不换行: put xx @@
put: 在日志窗口输出 output: 在输出窗口输出
求平均值: mean函数 mean(a,b,c) avg是在sql中求平均值
求和: sum函数 sum(of a b c)
data a; 生成以a命名的数据集,这里a是空的数据集
file print; 将原本在日志窗口中输出的内容转移至输出窗口中输出
put 'hello world'; 将put后的内容在日志窗口中呈现
run;
proc print; 将前面运行的结果在输出窗口显示
run;
file print 是指把原本应该put到log中的内容,put到output中