/*
It is SAS/IML thing.
*/
data have;
array x{*} Simulation1-Simulation1000;
call streaminit(123);
do n=1 to 28;
do i=1 to dim(x);
x{i}=rand('integer',1,4);
if rand('bern',0.2)=1 then call missing(x{i});
end;
output;
end;
keep Simulation: ;
run;
proc iml;
use have;
read all var _num_ into x[c=vnames];
close;
want=j(nrow(x),ncol(x),.);
do i=1 to ncol(x);
want[,i]=cuprod(x[,i]);
end;
create want from want[c=vnames];
append from want;
close;
quit;
... View more