See the article, "Read data sets that are specified by an array of names," which shows how to
Insert parentheses to get IMl to read the contents of the character variable:
create (dsname) FROM X;
However, you almost surely DO NOT want to do what you are proposing. Instead, create one data set and use an indicator variable (called SampleID) to indicate which sample is being written. You can then use BY-group processing to analyze the data. For an overview of the BY-group technique, see "Simulation in SAS: The slow way or the BY way."
You can study the simulation code in "How to generate multiple samples from the multivariate normal distribution in SAS".
You can also use the "Write to a SAS data set from inside a SAS/IML loop."
... View more