Hi All, I have a contrived data set that has 9 fields of responses to examination questions. The questions have unique ids of 1, 2, 3, 4, 5, 6, 7, 8 & 9. The 9 questions are grouped into blocks that are smaller modules of 3 questions. There are 3 blocks/modules of questions. The block/module ids are A, B, & C. The first record of the data set includes the question ids, and the second record of the data set includes the block ids. The information based on the first two records shows the specific questions grouped into each block/module. The remaining records include examinees' responses to the questions, with 1 being answered correctly and 0 being answered incorrectly. This is how the data set looks (Data Have): 1 2 3 4 5 6 7 8 9 A A A B B B C C C 1 0 1 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 0 1 Etc. What I want to do is to create three separate data sets. I want a data set that has only the questions in block/module A. I want a data set that has only the questions in block/module B. I want a data set that has only the questions in block/module C. This is what I want (Data Want): Output data set 1. 1 2 3 A A A 1 0 1 0 1 1 1 1 1 Etc. Output data set 2. 4 5 6 B B B 0 1 0 1 0 0 1 0 0 Etc. Output data set 3. 7 8 9 C C C 1 0 1 1 1 0 0 0 1 Etc. I think I could transpose the original data set, and work with it to select records for each block/module to create three output files, and then transpose those output files back so that the block/module id is in the first record for each of the three files. But, that would require a number of transpose steps. I am wondering if there is code that would be more concise & elegant that I can use in one DATA step that can be used together with a SAS macro. I need the code to generalize to a more realistic situation of starting with a data set that has 3000 fields of responses to exam questions grouped into 90 blocks/modules. All I am hoping is that someone from the community would have a pretty decent idea of how to program the code for the single DATA step. I can then finish the code for the macro so that different block/module ids are specified and the DATA step can be executed for each block/module. Any ideas? Thanks!
... View more