k*******a 发帖数: 772 | 1 array只能在data step里面用吧, 不过你可以用macro
有两种方法,第一个可以把所有值存到一个macro变量里面
proc sql ;
select distinct NGCODE into :array1 separated by " "
from sgroup;
第二个方法先得出所有值的个数,每个值存在一个macro里面array1-arrayn
proc sql ;
select count(distinct NGCODE) into :n from sgroup;
select distinct NGCODE into :array1-array%left(&n)
from sgroup;
quit;
这样所有的值都存到 array1 到 arrayn 这n个 macro variable了 |
|
m*****y 发帖数: 229 | 2 请问怎么把table的一列存进一个array里。
我试了个以下方法行不通。
proc sql ;
create table ngcode;
select distinct NGCODE into array1
from sgroup;
求高手指点。 |
|
c*****a 发帖数: 808 | 3 select distinct NGCODE into :array1 separated by ' '这意思?变成macro
variable? |
|
d******9 发帖数: 404 | 4 Maybe you can Data step to do it.
Data B;
Set A NOBS=N; (Say N=100)
Array C(100) C1-C100;
Retain C1-C100;
do I=1 to N;
C(I)=NGCODE;
end;
run; |
|