Solved
New Contributor
Posts: 3

# Nested Loop and splitting

Hi SAS Community,

i have data set and i want to split three variable and run nested loop of three and generate new data set. i am from java background so it is very difficult for me to do this. please can you help to provide hint or solution.

Below is Required Data set

data company_data;
infile datalines dsd;
input \$warehouse factory \$ store \$ product \$ address \$;
datalines;
"11,22","24,27","12,23","ABC"
"1,2,3","6,7","3,2","CDE"
"72,73","10,20,30,24","4,5,6,7","IJK"
;

Required Result

i wan to generate all possible combination of factory, store and product and i have tried but it is not useful show code here because it is not working properly.

Thank You,

Accepted Solutions
Solution
‎02-05-2018 06:24 AM
PROC Star
Posts: 399

## Re: Nested Loop and splitting

Three nested it is

data out;
set company_data;
length fac sto pro \$3;

i1 = 1;
fac = scan(factory,i1);

do while (fac ne '');
i2 = 1;
sto = scan(store,i2);

do while (sto ne '');
i3 = 1;
pro = scan(product,i3);

do while (pro ne '');
output;
i3 + 1;
pro = scan(product,i3);
end;

i2 + 1;
sto = scan(store,i2);
end;

i1 + 1;
fac = scan(factory,i1);
end;
run;

//Fredrik

All Replies
Solution
‎02-05-2018 06:24 AM
PROC Star
Posts: 399

## Re: Nested Loop and splitting

Three nested it is

data out;
set company_data;
length fac sto pro \$3;

i1 = 1;
fac = scan(factory,i1);

do while (fac ne '');
i2 = 1;
sto = scan(store,i2);

do while (sto ne '');
i3 = 1;
pro = scan(product,i3);

do while (pro ne '');
output;
i3 + 1;
pro = scan(product,i3);
end;

i2 + 1;
sto = scan(store,i2);
end;

i1 + 1;
fac = scan(factory,i1);
end;
run;

//Fredrik

☑ This topic is solved.