<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Difficult Reshaping of data in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226564#M54056</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would agree, seems a bit odd the order. &amp;nbsp;I would suggest you need to first sort the data, and then apply a sequence number to the data. &amp;nbsp;Then its simply a matter of transposing it and merging by the sequence number:&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;BR /&gt;by id labtest date;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;set have;&lt;BR /&gt;by id labtest;&lt;BR /&gt;retain seq;&lt;BR /&gt;if first.labtest then seq=1;&lt;BR /&gt;else seq=seq+1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, two questions from my side. &amp;nbsp;Why is date a character variable? &amp;nbsp;If you are not using ISO dates then you need to have these as numeric otherwise they will not sort correctly. &amp;nbsp;Secondly, this is clinical lab data, why are you not using CDISC SDTM models? &amp;nbsp;The transposed output you seem to require - and it would only by for a Listing, there is no point working data transposed - would be far easier with that standard structure.&lt;/P&gt;&lt;P&gt;Pretty much industry standard now:&amp;nbsp;&lt;A href="http://www.cdisc.org/sdtm" target="_blank"&gt;http://www.cdisc.org/sdtm&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Mon, 21 Sep 2015 14:43:51 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2015-09-21T14:43:51Z</dc:date>
    <item>
      <title>Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226554#M54052</link>
      <description>&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tried Proc Trnaspose in several variation but cant figure this one out. I guess it is going to take more than proc transpose. I have limited array knowledge and I think it can be done using arrays.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is how my data looks like:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Obs&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Labtest&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Result&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;date&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;event&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Calcium&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Calcium&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Calcium&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;7&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;8&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;9&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;10&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Creat&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;11&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Creat&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;12&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Creat&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;13&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;14&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;15&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Pot&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;16&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;17&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;18&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Mag&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;DIV class="branch"&gt;&lt;DIV align="center"&gt;&lt;BR /&gt;&lt;DIV class="branch"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BR /&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here&amp;nbsp;is the code for it:&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;PRE&gt;data have; 
  input ID Labtest $ Result date $9. event $; 
 cards; 
1 Calcium 9.1 06JUN2014 Outpt
1 Calcium 8.1 06JUN2015 Outpt
1 Calcium 9.6 07JUL2014 Inpt
1 Pot 4.1 16JUN2015 Outpt
1 Pot 3.1 06JUN2014 Inpt
1 Pot 4.6 07JUL2014 Inpt
1 Mag 2.1 26JUN2015 Inpt
1 Mag 2.1 06JUL2014 Inpt
1 Mag 1.6 07JUL2012 Inpt
2 Creat 1.1 07JUL2012 Outpt
2 Creat 1.0 06JUN2015 Outpt
2 Creat 2.0 06JUL2014 Inpt
2 Pot 3.1 07JUL2012 Outpt
2 Pot 4.1 06JUN2014 Inpt
2 Pot 4.6 16JUN2015 Inpt
2 Mag 1.1 07JUL2014 Inpt
2 Mag 1.1 06JUL2014 Inpt
2 Mag 1.3 06JUN2014 Inpt
; 
run;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want my data to be reshaped into this structure:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Obs&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;ID&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Calcium&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Calcium_Date&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Calcium_Event&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Pot&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Pot_Date&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Pot_Event&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Mag&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Mag_Date&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Mag_Event&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Creat&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Creat_Date&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;Creat_Event&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;26JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;8.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;3&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;9.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;4&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;3.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;07JUL2012&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;5&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.1&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Outpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;&lt;STRONG&gt;6&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;.&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;4.6&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;16JUN2015&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;1.3&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUN2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2.0&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;06JUL2014&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Inpt&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;DIV class="branch"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you,&amp;nbsp;&lt;/P&gt;&lt;P&gt;your help is really appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Bhupesh Panwar&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="branch"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Mon, 21 Sep 2015 13:45:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226554#M54052</guid>
      <dc:creator>bhupesh102</dc:creator>
      <dc:date>2015-09-21T13:45:58Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226562#M54055</link>
      <description>&lt;P&gt;In the output data set, what is the ordering of the rows within ID?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why does Calcium_Date of 06JUN14 wind up in the same row as Pot_Date of 16JUN15 and Mag_Date of 26JUN15?&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2015 14:39:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226562#M54055</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2015-09-21T14:39:50Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226564#M54056</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would agree, seems a bit odd the order. &amp;nbsp;I would suggest you need to first sort the data, and then apply a sequence number to the data. &amp;nbsp;Then its simply a matter of transposing it and merging by the sequence number:&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;BR /&gt;by id labtest date;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;set have;&lt;BR /&gt;by id labtest;&lt;BR /&gt;retain seq;&lt;BR /&gt;if first.labtest then seq=1;&lt;BR /&gt;else seq=seq+1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;However, two questions from my side. &amp;nbsp;Why is date a character variable? &amp;nbsp;If you are not using ISO dates then you need to have these as numeric otherwise they will not sort correctly. &amp;nbsp;Secondly, this is clinical lab data, why are you not using CDISC SDTM models? &amp;nbsp;The transposed output you seem to require - and it would only by for a Listing, there is no point working data transposed - would be far easier with that standard structure.&lt;/P&gt;&lt;P&gt;Pretty much industry standard now:&amp;nbsp;&lt;A href="http://www.cdisc.org/sdtm" target="_blank"&gt;http://www.cdisc.org/sdtm&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2015 14:43:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226564#M54056</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2015-09-21T14:43:51Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226591#M54061</link>
      <description>There is no specific ordering within ID. This is not an actual data set. i just created this randomly to get help.</description>
      <pubDate>Mon, 21 Sep 2015 16:37:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226591#M54061</guid>
      <dc:creator>bhupesh102</dc:creator>
      <dc:date>2015-09-21T16:37:54Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226594#M54062</link>
      <description>I tried this but I am not sure how a seq variable is going to help.&lt;BR /&gt;&lt;BR /&gt;proc sort data=have;&lt;BR /&gt;by id labtest;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;data have;&lt;BR /&gt;set have;&lt;BR /&gt;by id labtest;&lt;BR /&gt;retain seq;&lt;BR /&gt;if first.labtest then seq=1;&lt;BR /&gt;else seq=seq+1;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc sort data=have;&lt;BR /&gt;by id;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;proc transpose data=have out=want;&lt;BR /&gt;by id;&lt;BR /&gt;var result;&lt;BR /&gt;id labtest;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;This is giving me these errors in the log:&lt;BR /&gt;ERROR: The ID value "Calcium" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Calcium" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Mag" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Mag" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Pot" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Pot" occurs twice in the same BY group.&lt;BR /&gt;NOTE: The above message was for the following BY group:&lt;BR /&gt;ID=1&lt;BR /&gt;ERROR: The ID value "Creat" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Creat" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Mag" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Mag" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Pot" occurs twice in the same BY group.&lt;BR /&gt;ERROR: The ID value "Pot" occurs twice in the same BY gro&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;To answer your questions:&lt;BR /&gt;1. Date is indeed a numeric variable in the original dataset. This is something I created quickly to get help.&lt;BR /&gt;&lt;BR /&gt;2. I am not familiar with CDISC SDTM models. I am a clinician and would like to reshape data in a way that is easy for me to visualize and analyze.&lt;BR /&gt;&lt;BR /&gt;Thanks again</description>
      <pubDate>Mon, 21 Sep 2015 16:42:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226594#M54062</guid>
      <dc:creator>bhupesh102</dc:creator>
      <dc:date>2015-09-21T16:42:46Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226628#M54067</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/55533"&gt;@bhupesh102&lt;/a&gt; wrote:&lt;BR /&gt;There is no specific ordering within ID. This is not an actual data set. i just created this randomly to get help.&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;If you can't be specific about what you want and explain the output you show, then how can we help you, unless we give you SAS code that randomly puts data together?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2015 18:27:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226628#M54067</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2015-09-21T18:27:26Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226638#M54070</link>
      <description>&lt;P&gt;Looks like you are just pasting the values for CALCIUM next to the values for POT, MAG, etc..&lt;/P&gt;&lt;P&gt;You can do that with the MERGE statement, if you take care to clear the values before the next interation of the data step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
&amp;nbsp; &amp;nbsp;merge have (where = (labtest='Calcium') rename=result=calcium_result date=calcium_date .... )
&amp;nbsp; &amp;nbsp;     have (where = (labtest='Pot') rename=result=pot_result date=pot_date .... )
  ;
  by id;
  output;
  call missing(of _all_);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Sep 2015 19:19:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226638#M54070</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2015-09-21T19:19:19Z</dc:date>
    </item>
    <item>
      <title>Re: Difficult Reshaping of data</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226648#M54071</link>
      <description>&lt;P&gt;Tom,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your solution. I ended up using this code. I have also attached the log. i was able to get the output I desired. I just wanted someone to look at the log for correctness before I apply this to the actual dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
   merge have (where = (labtest='Calcium') rename = (result=calcium date=calcium_date event=calcium_event))
        have (where = (labtest='Pot') rename = (result=potassium date=pot_date event=pot_event))
		 have (where = (labtest='Mag') rename = (result=Magnesium date=Mag_date event=Mag_event))
		 have (where = (labtest='Creat') rename = (result=Creatnine date=Creat_date event=Creat_event))
  ;
  by id;
  output;
  call missing(of _all_);
drop labtest;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;STRONG&gt;SAS LOG&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;103 data want ;&lt;BR /&gt;104 merge have (where = (labtest='Calcium') rename = (result=calcium date=calcium_date&lt;BR /&gt;104! event=calcium_event))&lt;BR /&gt;105 have (where = (labtest='Pot') rename = (result=potassium date=pot_date&lt;BR /&gt;105! event=pot_event))&lt;BR /&gt;106 have (where = (labtest='Mag') rename = (result=Magnesium date=Mag_date&lt;BR /&gt;106! event=Mag_event))&lt;BR /&gt;107 have (where = (labtest='Creat') rename = (result=Creatnine date=Creat_date&lt;BR /&gt;107! event=Creat_event))&lt;BR /&gt;108 ;&lt;BR /&gt;109 by id;&lt;BR /&gt;110 output;&lt;BR /&gt;111 call missing(of _all_);&lt;BR /&gt;112 drop labtest;&lt;BR /&gt;113 run;&lt;/P&gt;&lt;P&gt;NOTE: MERGE statement has more than one data set with repeats of BY values.&lt;BR /&gt;NOTE: There were 3 observations read from the data set WORK.HAVE.&lt;BR /&gt;WHERE labtest='Calcium';&lt;BR /&gt;NOTE: There were 6 observations read from the data set WORK.HAVE.&lt;BR /&gt;WHERE labtest='Pot';&lt;BR /&gt;NOTE: There were 6 observations read from the data set WORK.HAVE.&lt;BR /&gt;WHERE labtest='Mag';&lt;BR /&gt;NOTE: There were 3 observations read from the data set WORK.HAVE.&lt;BR /&gt;WHERE labtest='Creat';&lt;BR /&gt;NOTE: The data set WORK.WANT has 6 observations and 13 variables.&lt;BR /&gt;NOTE: DATA statement used (Total process time):&lt;BR /&gt;real time 0.02 seconds&lt;BR /&gt;cpu time 0.01 seconds&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/159"&gt;@Tom&lt;/a&gt; wrote:&lt;BR /&gt;&lt;P&gt;Looks like you are just pasting the values for CALCIUM next to the values for POT, MAG, etc..&lt;/P&gt;&lt;P&gt;You can do that with the MERGE statement, if you take care to clear the values before the next interation of the data step.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want ;
&amp;nbsp; &amp;nbsp;merge have (where = (labtest='Calcium') rename=result=calcium_result date=calcium_date .... )
&amp;nbsp; &amp;nbsp;     have (where = (labtest='Pot') rename=result=pot_result date=pot_date .... )
  ;
  by id;
  output;
  call missing(of _all_);
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;</description>
      <pubDate>Mon, 21 Sep 2015 20:16:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/Difficult-Reshaping-of-data/m-p/226648#M54071</guid>
      <dc:creator>bhupesh102</dc:creator>
      <dc:date>2015-09-21T20:16:22Z</dc:date>
    </item>
  </channel>
</rss>

