array sales{4} q1-q4;
array sales{2:6} q2-q6;
array sales{*} _numeric_;
array sales{*} _character_;
array sales{*} _all_;
array fruit{*} apples pears grapes bananas oranges;
/*array只存在data步,array名不能与已有变量名相同*/
/*将已有变量定义到一个array*/
data sasuser.added;
set sasuser.funddrive;
array contrib{4} qtr1-qtr4;
do i= 1 to dim(contrib);
contrib{i}=contrib{i}+contrib{i}*.25;
end;
run;
/*根据array创建变量*/
array array-name{dim}; /*assume dim=3 then create array-name1 array-name2 array-name3*/
array test{5} $ 20; /*创建长度为20的5个character型变量*/
/*二维的array,往往使用nesting loop*/
data sasuser.summary(drop=i j total);
set sasuser.survey;
array section{3} eating exercise stress;
array resp{3,6} item1-item18;
do i=1 to 3;
Total=0;
do j=1 to 6;
total+(resp{i,j});
end;
section{i}=total/6;
end;
run;
/*旋转表格*/
data sasuser.summary2(drop=item1-item18);
set sasuser.survey;
array amount{18} item1-item18;
do item = 1 to 18;
a= amount(item);
output;
end;
run;
data work.report(drop=i);
set master.temps;
array wkday{7} mon tue wed thr fri sat sun;
do i=1 to 7;
wkday{i}=5*(wkday{i}-32)/9;
end;
run;
data hrd.convert(drop=i);
set hrd.fitclass;
array wt{6} weight1-weight6;
do i=1 to dim(wt);
wt{i}=wt{i}*2.2046;
end;
run;
data hrd.diff(drop=i);
set hrd.convert;
array wt{6} weight1-weight6;
array WgtDiff{5};
do i=1 to 5;
wgtdiff{i}=wt{i+1}-wt{i};
end;
run;
data finance.report(drop=i);
set finance.qsales;
array sale{4} sales1-sales4;
array goal{4} _temporary_ (9000 9300 9600 9900); /*创建临时变量,不用drop*/
array Achieved{4};
do i=1 to 4;
achieved{i}=100*sale{i}/goal{i};
end;
run;
data finance.quarters(drop=i j);
set finance.monthly;
array m{4,3} month1-month12;
array Qtr{4};
do i=1 to 4;
qtr{i}=0;
do j=1 to 3;
qtr{i}+m{i,j};
end;
end;
run;
原文:https://www.cnblogs.com/super-yb/p/11839196.html