/* test data */
data one;
do i = 1 to 4;
do j = 1 to 4;
do k = 1 to 4;
output;
end;
end;
end;
run;
/* flag if all ijk values are different */
data two;
set one;
array var(*) i j k;
unique = 1;
drop p q;
do p = 1 to dim(var)-1 while(unique);
do q = p + 1 to dim(var) while(unique);
unique = var(p)^=var(q);
end;
end;
run;
/* check */
proc print data=two(obs=10);
run;
/* on lst
Obs i j k unique
1 1 1 1 0
2 1 1 2 0
3 1 1 3 0
4 1 1 4 0
5 1 2 1 0
6 1 2 2 0
7 1 2 3 1
8 1 2 4 1
9 1 3 1 0
10 1 3 2 1
*/
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.