Hi Rick,

In line with using subscript reduction operators, I would like to dodge looping over the following scenario:

I have a longitudinal dataset (hypothetical) as below with 4 variables
(id, gender, time and y);

id gender time y
1 0 1 0.2
1 0 2 1.4
1 0 3 0.9
2 1 1 2.3
2 1 2 7.8
2 1 3 0.1
2 1 4 1.7;

I would like to EFFICIENTLY (because the datasets can get very large)
create pairwise combinations, in SAS/IML or using a datastep, within
id for the variables gender and y (number of variables can vary) so
that I have a final dataset with variables id, pair (which is the
combination based on the variable time. E.g., id=1 appears 3 times,
then the possible pair combinations (s,t) are 1,2; 1,3; and 2,3),
gender_s, gender_t, y_s and y_t. The final dataset would look as
follows:

id pair gender_s gender_t y_s y_t;
1 (1,2) 0 0 0.2 1.4
1 (1,3) 0 0 0.2 0.9
1 (2,3) 0 0 1.4 0.9
2 (1,2) 1 1 2.3 7.8
2 (1,3) 1 1 2.3 0.1
2 (1,4) 1 1 2.3 1.7
2 (2,3) 1 1 7.8 0.1
2 (2,4) 1 1 7.8 1.7
2 (3,4) 1 1 0.1 1.7

Kindly advise on how best (in terms of efficiency) I can program this?
Many thanks in advance,

George