Hi ... data matrix; array r(5); do i=0 to 20 by 5; do j=1 to 5; r(j)=i+j; end; output; end; keep r: ; run; data new; array r(5); array v(5); do i=1 to 5; do j=1 to 5; set matrix point=j; v(j) = r(i); end; output; end; stop; keep v: ; run; data set NEW ... Obs v1 v2 v3 v4 v5 1 1 6 11 16 21 2 2 7 12 17 22 3 3 8 13 18 23 4 4 9 14 19 24 5 5 10 15 20 25 If you wanted to make the transpose data step general, you could try ... proc sql noprint; select nvar, nlobs into :nvars trimmed, :nobs trimmed from dictionary.tables where libname = 'WORK' and memname = 'MATRIX'; quit; data new; array r(&nvars); array v(&nobs); do i=1 to &nvars; do j=1 to &nobs; set matrix point=j; v(j) = r(i); end; output; end; stop; keep v: ; run;
... View more