Hello, My data set : studentid test_missed districtcode reason_not_tested 2 English 56 22 2 Algebra 56 22 2 History 56 22 2 Biology 56 22 2 Writing 71 22 3 History 89 19 4 English 62 17 5 English 77 20 5 Biology 77 20 5 Algebra 79 20 6 Writing 80 22 I transposed the data so each student only has 1 row. I have many more variables, but only 3 vars need to be transposed. I used the method presented in Paper 2785-2015 "Transpose Dataset by MERGE" by Shan, Kastin, Tabachneck, which is a 'life saver' for me. I was able to transpose but I just could not rearrange the test_missed (number). data snt19; set snt19; by studentid ; if first.studentid then n=0; n+1; run; proc sql noprint ; select distinct catt ('snt19 (where=(n=',left(put(n,8.)), ') rename= (districtcode=districtcode',left(put(n,8.)), ' reason_not_tested=reason_not_tested',left(put(n,8.)), ' test_missed=test_missed',left(put(n,8.)), '))') into :mer separated by ' ' from snt19 ; quit; data want; merge &mer ; by studentid ; drop n; run; id districtcode1 reason_not_tested1 test_missed1 districtcode2 reason_not_tested2 test_missed2 districtcode3 ..... test_3 2 56 22 English 56 22 Algebra 56 History 5 77 20 English 77 20 Biology 79 Algebra and so on. what I need is something like this: id test_missed1 test_missed2 test_missed3 test_missed4 test_missed5 2 Algebra English Biology History Writing 3 History 4 English 5 Algebra English Biology 6 Writing I hope this makes sense. Thanks all. BScholtz
... View more