Hmm.
It seems odd that the parameter estimates for intercept and source have 0 SE and 0 df, and yet the overall test of source in the Type III Tests table does not look unusual--except for denom df = 973 which strikes me as much too small.
Is each ID coded uniquely, as in your example dataset?
Should you have four months of data for each ID? (731939 IDs time 4 months does not equal 2443672 observations, but no missing values are reported.)
I'm beginning to suspect a structural problem with the dataset, perhaps only because I don't have any other ideas.
If you haven't already, I'd compute descriptive statistics to follow up on Paige's comment about one of the variables being always missing or constant.
For your model with REPEATED / TYPE=CS, the code below is a different parameterization of the same model (as long as the CS parameter is not negative). I'd try it, and see if I got the same results.
proc mixed data=test;
class source id year month;
model y = source / ddfm=kr solution;
random intercept / subject=year;
random intercept / subject=id(year source);
run;
And there's always SAS Tech Support!
... View more