|
Here is a simplified one.
data raw;
input Type $ Number;
datalines;
A 7
A 7
A 7
B 12
B 12
C 10
C 10
;
data t2;
set raw;
by type;
length ranNumber $20000;
retain ranNumber;
if first.type then do;
do i =1 to Number;
ranNumber=catx(',', ranNumber,ceil(1000*ranuni(1) ));
end;
end;
output;
if last.type then ranNumber='';
drop i;
run;
proc print; run;
**************************
Obs Type Number ranNumber
1 A 7 185,971,400,260,922,970,543
2 A 7 185,971,400,260,922,970,543
3 A 7 185,971,400,260,922,970,543
4 B 12 532,50,67,820,524,854,68,958,298,273,690,977
5 B 12 532,50,67,820,524,854,68,958,298,273,690,977
6 C 10 227,689,413,559,288,476,845,635,591,583
7 C 10 227,689,413,559,288,476,845,635,591,583
|