tested, here is the pair-wise join in SQL it creates 500 rows data starting ; input Id var1 var2 var3 var4 var5; list;cards; 1 45 66 88 888 99 1 35 36 98 254 345 1 546 5 51 564 . 2 654 87 54 654 651 2 546 87 861 651 651 2 215 55 654 896 514 2 654 51 678 651 215 ; data starting2 ; set starting ; array vars (*) var: ; do varn = 1 to dim(vars) ; var = vars(varn) ; output ; end ; keep id varn var ; run ; proc sql ; create table start2 as select a.id, a.var as left, b.var as right, a.varn as leftN, b.varN as rightN from starting2 as a join starting2 as b on a.id eq b.id and a.varn ne b.varn ; quit ;
... View more