data one;
input id $ fruit $;
datalines;
a apple
a apple
b banana
c coconut
c coconut
c coconut
;
data two;
input id $ color $;
datalines;
a amber
b brown
b black
c cocoa
c cream
;
data every_combination;
/* 一般第一个SET的数据集应该是较大、数据观测、变量较多的数据集 */
set one;
do i=1 to n;
/*对于每一个ONE里面的观测,都与TWO里面的每一个观测进行循环组合*/
set two point=i nobs=n;
output;
end;
run;
proc print data=every_combination;
run;
这个程序给交叉组合提供了一个不需要SQL的另外一个方法,用的是SET机制