<?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 SAS how to tranpose long data that has multiple variables and values per group id? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178787#M34181</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have data that is set up like this:&lt;/P&gt;&lt;PRE class="jive-pre"&gt;&lt;CODE&gt;Pers Year Month Variable Value &lt;/CODE&gt;&lt;CODE&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;CODE&gt;AAA 2001 01 Var1 100 &lt;BR /&gt;AAA 2001 01 Var2 200 &lt;BR /&gt;AAA 2001 06 Var1 110 &lt;BR /&gt;AAA 2001 06 Var2 210 &lt;BR /&gt;AAA 2002 01 Var1 120 &lt;BR /&gt;AAA 2002 01 Var2 . &lt;BR /&gt;BBB 2001 01 Var1 100 &lt;BR /&gt;BBB 2001 01 Var2 200 &lt;BR /&gt;BBB 2001 06 Var1 110 &lt;BR /&gt;BBB 2001 06 Var2 210 &lt;BR /&gt;BBB 2002 01 Var2 220 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I would like data that looks like this:&lt;/P&gt;&lt;PRE class="jive-pre"&gt;&lt;CODE&gt;Pers Year Month Var1 Var2 &lt;BR /&gt;AAA 2001 01 100 200 &lt;BR /&gt;AAA 2001 06 110 210 &lt;BR /&gt;AAA 2002 01 120 . &lt;BR /&gt;BBB 2001 01 100 200 &lt;BR /&gt;BBB 2001 06 110 210 &lt;BR /&gt;&lt;/CODE&gt;&lt;CODE&gt;BBB 2002 01 . 220 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;How can I do this in SAS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that in the input data, above, Person BBB is missing an observation for 2002-01 Var1, but the output data has returned a missing value in the last line, i.e. ".".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 23 Feb 2015 04:26:34 GMT</pubDate>
    <dc:creator>AndrewMyers</dc:creator>
    <dc:date>2015-02-23T04:26:34Z</dc:date>
    <item>
      <title>SAS how to tranpose long data that has multiple variables and values per group id?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178787#M34181</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have data that is set up like this:&lt;/P&gt;&lt;PRE class="jive-pre"&gt;&lt;CODE&gt;Pers Year Month Variable Value &lt;/CODE&gt;&lt;CODE&gt;&lt;BR /&gt;&lt;/CODE&gt;&lt;CODE&gt;AAA 2001 01 Var1 100 &lt;BR /&gt;AAA 2001 01 Var2 200 &lt;BR /&gt;AAA 2001 06 Var1 110 &lt;BR /&gt;AAA 2001 06 Var2 210 &lt;BR /&gt;AAA 2002 01 Var1 120 &lt;BR /&gt;AAA 2002 01 Var2 . &lt;BR /&gt;BBB 2001 01 Var1 100 &lt;BR /&gt;BBB 2001 01 Var2 200 &lt;BR /&gt;BBB 2001 06 Var1 110 &lt;BR /&gt;BBB 2001 06 Var2 210 &lt;BR /&gt;BBB 2002 01 Var2 220 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;I would like data that looks like this:&lt;/P&gt;&lt;PRE class="jive-pre"&gt;&lt;CODE&gt;Pers Year Month Var1 Var2 &lt;BR /&gt;AAA 2001 01 100 200 &lt;BR /&gt;AAA 2001 06 110 210 &lt;BR /&gt;AAA 2002 01 120 . &lt;BR /&gt;BBB 2001 01 100 200 &lt;BR /&gt;BBB 2001 06 110 210 &lt;BR /&gt;&lt;/CODE&gt;&lt;CODE&gt;BBB 2002 01 . 220 &lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;How can I do this in SAS?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note that in the input data, above, Person BBB is missing an observation for 2002-01 Var1, but the output data has returned a missing value in the last line, i.e. ".".&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2015 04:26:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178787#M34181</guid>
      <dc:creator>AndrewMyers</dc:creator>
      <dc:date>2015-02-23T04:26:34Z</dc:date>
    </item>
    <item>
      <title>Re: SAS how to tranpose long data that has multiple variables and values per group id?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178788#M34182</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;You can use the TRANSPOSE procedure to do this. See example below:&lt;/P&gt;&lt;DIV style="font-family: Courier New; font-size: 11pt;"&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; have;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;infile&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;dlm&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff;"&gt;","&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;input&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; pers $ Year Month Variable $ Value &lt;BR /&gt;&amp;nbsp; ;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;cards&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffc0;"&gt;AAA,2001,01,Var1,100&lt;BR /&gt;AAA,2001,01,Var2,200&lt;BR /&gt;AAA,2001,06,Var1,110&lt;BR /&gt;AAA,2001,06,Var2,210&lt;BR /&gt;AAA,2002,01,Var1,120&lt;BR /&gt;AAA,2002,01,Var2,.&lt;BR /&gt;BBB,2001,01,Var1,100&lt;BR /&gt;BBB,2001,01,Var2,200&lt;BR /&gt;BBB,2001,06,Var1,110&lt;BR /&gt;BBB,2001,06,Var2,210&lt;BR /&gt;BBB,2002,01,Var2,220&lt;BR /&gt;&lt;/SPAN&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;sort&lt;/STRONG&gt; &lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=have;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; pers year month;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;; &lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;proc&lt;/STRONG&gt; &lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;transpose&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; &lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=have&lt;BR /&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;out&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=want(&lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;drop&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;=_name_)&lt;BR /&gt;;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;by&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; pers year month;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;id&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; Variable;&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff;"&gt;var&lt;/SPAN&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt; Value;&lt;BR /&gt;&lt;/SPAN&gt;&lt;STRONG style="color: #000080; background-color: #ffffff;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="color: #000000; background-color: #ffffff;"&gt;; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 23 Feb 2015 18:40:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178788#M34182</guid>
      <dc:creator>BrunoMueller</dc:creator>
      <dc:date>2015-02-23T18:40:16Z</dc:date>
    </item>
    <item>
      <title>Re: SAS how to tranpose long data that has multiple variables and values per group id?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178789#M34183</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrew,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Alternatively the same output could be obtained by arrays.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input Pers$ Year Month Variable$ Value ;&lt;/P&gt;&lt;P&gt;ord=input(compress(variable,,'kd'),1.);&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;AAA 2001 01 Var1 100 &lt;/P&gt;&lt;P&gt;AAA 2001 01 Var2 200 &lt;/P&gt;&lt;P&gt;AAA 2001 06 Var1 110 &lt;/P&gt;&lt;P&gt;AAA 2001 06 Var2 210 &lt;/P&gt;&lt;P&gt;AAA 2002 01 Var1 120 &lt;/P&gt;&lt;P&gt;AAA 2002 01 Var2 . &lt;/P&gt;&lt;P&gt;BBB 2001 01 Var1 100 &lt;/P&gt;&lt;P&gt;BBB 2001 01 Var2 200 &lt;/P&gt;&lt;P&gt;BBB 2001 06 Var1 110 &lt;/P&gt;&lt;P&gt;BBB 2001 06 Var2 210 &lt;/P&gt;&lt;P&gt;BBB 2002 01 Var2 220 &lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;/P&gt;&lt;P&gt;by pers year month variable;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt; set have;&lt;/P&gt;&lt;P&gt; retain var1 var2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; by pers year month variable;&lt;/P&gt;&lt;P&gt;&amp;nbsp; array vs(2) var1 var2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if first.month then do;&lt;/P&gt;&lt;P&gt;&amp;nbsp; do i = 1 to 2;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vs(i)=.;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; end;&lt;/P&gt;&lt;P&gt;&amp;nbsp; vs(ord)=value;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if last.month;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Jag&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Feb 2015 01:47:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/SAS-how-to-tranpose-long-data-that-has-multiple-variables-and/m-p/178789#M34183</guid>
      <dc:creator>Jagadishkatam</dc:creator>
      <dc:date>2015-02-24T01:47:15Z</dc:date>
    </item>
  </channel>
</rss>

