I recently had a similar situation where I used the Kronecker product to generate some data. Specifically, I needed to generate a series of bivariate normal datasets. Rather than specifying them individually, I used the Kroenecker product to create a large variance-covariance matrix with the block diagonals corresponding to my bivariate matrix. However, some of this efficiency has been lost because I have to use the BY statement in Proc Mixed when I analyze the datasets. Could you recommend a way to specify the repeated statement that would allow me to process the matrix in a single step(i.e. without the BY statement)? My original code looked like this:

proc mixed data=SIMDATA method=reml ;
class SubjectID Visit Trt Sim_ID;
by Sim_ID;
model Mu = Visit Trt Visit*Trt / s ;
repeated / type=ar(1) sub=zSub_StudyID ;
lsmeans Visit*Tx/diff=control('2' '1') ;
run;

I've tried changing type=Un@ar(1) but this doesn't quite give me what I'm looking for.