<?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: proc transpose dataset in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912923#M83262</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input Acct1 AcctLevel $ State $ Last_State_Date :mmddyy10.;
   format last_state_date mmddyy10.;
datalines;
1  A   OH 05-23-2023
1  A   MI 11-30-2023
2  C   TX 01-22-2023
2  C   CA 04-14-2023
2  C   MO 07-25-2023
3  F   OH 06-22-2023
3  F   IN 12-12-2023
3  K   WA 08-01-2023
;

data temp;
 set have;
 by Acct1 AcctLevel;
 if first.AcctLevel then n=0;
 n+1;
run;
proc sql noprint;
select distinct catt('temp(where=(n=',n,') rename=(State=State',n,' Last_State_Date=Date',n,'))') 
       into :merge separated by ' '
  from temp;
quit;
data want;
 merge &amp;amp;merge.;
 by Acct1 AcctLevel;
 drop n;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ksharp_0-1706151646084.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/92959iB8387A2E21C9C1AB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ksharp_0-1706151646084.png" alt="Ksharp_0-1706151646084.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 25 Jan 2024 03:00:55 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2024-01-25T03:00:55Z</dc:date>
    <item>
      <title>proc transpose dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912904#M83260</link>
      <description>&lt;P&gt;I've never done a proc tranpose and cannot get the desired result after reading the documentation&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset that looks like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Acct1&amp;nbsp; &amp;nbsp;AcctLevel&amp;nbsp; &amp;nbsp;State&amp;nbsp; &amp;nbsp;Last_State_Date&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OH&amp;nbsp; &amp;nbsp; &amp;nbsp; 05-23-2023&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MI&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;11-30-2023&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;01-22-2023&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;04-14-2023&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MO&amp;nbsp; &amp;nbsp; &amp;nbsp; 07-25-2023&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OH&amp;nbsp; &amp;nbsp; &amp;nbsp; 06-22-2023&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 12-12-2023&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; K&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WA&amp;nbsp; &amp;nbsp; &amp;nbsp; 08-01-2023&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And the desired output is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Acct&amp;nbsp; &amp;nbsp; &amp;nbsp; AcctLevel&amp;nbsp; &amp;nbsp; &amp;nbsp; State1&amp;nbsp; &amp;nbsp; Date1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Date2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Date 3&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;A&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OH&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;05-23-2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MI&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;11-30-2023&lt;/P&gt;&lt;P&gt;2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; C&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TX&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 01-22-2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 04-14-2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MO&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;07-25-2023&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OH&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 06-22-2023&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;IN&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;12-12-2023&lt;/P&gt;&lt;P&gt;3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; K&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WA&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;08-01-2023&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please help&lt;/P&gt;</description>
      <pubDate>Wed, 24 Jan 2024 22:11:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912904#M83260</guid>
      <dc:creator>cw2024</dc:creator>
      <dc:date>2024-01-24T22:11:53Z</dc:date>
    </item>
    <item>
      <title>Re: proc transpose dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912908#M83261</link>
      <description>&lt;P&gt;Best is to provide example data in the form of a working data step pasted into a text box opened on the forum with the &amp;lt;/&amp;gt; icon above the main message window.&lt;/P&gt;
&lt;P&gt;The data step is important to provide something we can test code with and know actual properties of your variables. For example SAS date values are numeric but when you post something like&amp;nbsp; 05-23-2023 we cannot tell if this is a SAS date value with the MMDDYY or similar format applied or a character value.&lt;/P&gt;
&lt;P&gt;This gets to be fairly important as Transpose doesn't play well with numeric and character values in some forms of transpose.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;One thing to consider is what exactly will be done with the output set? As in, describe what can be done with that set that can't be done with the current structure as the "wide" format with repeated variables like your State and Date are typically much harder to use.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;These creates data set in the general idea you have provided. Note the data step to provide working data.&lt;/P&gt;
&lt;PRE&gt;data have;
   input Acct1 AcctLevel $ State $ Last_State_Date :mmddyy10.;
   format last_state_date mmddyy10.;
datalines;
1  A   OH 05-23-2023
1  A   MI 11-30-2023
2  C   TX 01-22-2023
2  C   CA 04-14-2023
2  C   MO 07-25-2023
3  F   OH 06-22-2023
3  F   IN 12-12-2023
3  K   WA 08-01-2023
run;

proc transpose data=have out=transstate (drop=_name_)
     prefix=State;
by acct1 Acctlevel;
var state;
run;
proc transpose data=have out=transdate (drop=_name_)
     prefix=Date;
by acct1 Acctlevel;
var last_state_date;
run;

data want;
   merge transstate transdate;
   by  acct1 Acctlevel;
run;&lt;/PRE&gt;
&lt;P&gt;If you really need column order (SAS doesn't care for almost any purpose what the order of variables may be) then search the forum for the many threads related to variable order.&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2024 00:10:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912908#M83261</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2024-01-25T00:10:20Z</dc:date>
    </item>
    <item>
      <title>Re: proc transpose dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912923#M83262</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
   input Acct1 AcctLevel $ State $ Last_State_Date :mmddyy10.;
   format last_state_date mmddyy10.;
datalines;
1  A   OH 05-23-2023
1  A   MI 11-30-2023
2  C   TX 01-22-2023
2  C   CA 04-14-2023
2  C   MO 07-25-2023
3  F   OH 06-22-2023
3  F   IN 12-12-2023
3  K   WA 08-01-2023
;

data temp;
 set have;
 by Acct1 AcctLevel;
 if first.AcctLevel then n=0;
 n+1;
run;
proc sql noprint;
select distinct catt('temp(where=(n=',n,') rename=(State=State',n,' Last_State_Date=Date',n,'))') 
       into :merge separated by ' '
  from temp;
quit;
data want;
 merge &amp;amp;merge.;
 by Acct1 AcctLevel;
 drop n;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Ksharp_0-1706151646084.png" style="width: 400px;"&gt;&lt;img src="https://communities.sas.com/t5/image/serverpage/image-id/92959iB8387A2E21C9C1AB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="Ksharp_0-1706151646084.png" alt="Ksharp_0-1706151646084.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2024 03:00:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912923#M83262</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2024-01-25T03:00:55Z</dc:date>
    </item>
    <item>
      <title>Re: proc transpose dataset</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912995#M83263</link>
      <description>&lt;P&gt;I apologize for not including workable data via cards, and not being clear about formats/informats of my variables.&amp;nbsp; It was my first post, thank you so much both of you that replied!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 25 Jan 2024 15:32:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/proc-transpose-dataset/m-p/912995#M83263</guid>
      <dc:creator>cw2024</dc:creator>
      <dc:date>2024-01-25T15:32:09Z</dc:date>
    </item>
  </channel>
</rss>

