<?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: How to summarize with new variable names? in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581243#M165178</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/44533"&gt;@wernie&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not really recommending, but that's how l learned/learn.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Cases      Year      CT;
cards;
2              2010       020300
1             2010        020400
2              2011       020500
1             2012        020300
;

proc sql noprint;
select distinct cats('Cases_',year),min(year),max(year) into :var_names separated by ' ',:min trimmed,:max trimmed
from have;
quit;

%let l=%eval(&amp;amp;max-&amp;amp;min+1);

proc sort data=have out=_have;
by ct ;
run;
data want;
 if 0 then set _have;/*maintain the order of variables*/
 array C(&amp;amp;min:&amp;amp;max) &amp;amp;var_names (&amp;amp;l*0);
 retain k;
 if _n_=1 then k=peekclong(addrlong(c(&amp;amp;min)),&amp;amp;l*8);
 else  call pokelong(k,addrlong(c(&amp;amp;min)),&amp;amp;l*8);
  do until(last.ct);
   set _have;
   by ct;
   c(year)=cases;
  end;
keep ct Cases_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 14 Aug 2019 18:42:26 GMT</pubDate>
    <dc:creator>novinosrin</dc:creator>
    <dc:date>2019-08-14T18:42:26Z</dc:date>
    <item>
      <title>How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581221#M165167</link>
      <description>&lt;P&gt;I have data that I summarized to get cases by year and tract. The example looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cases&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CT&lt;/P&gt;
&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 020300&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 020400&lt;/P&gt;
&lt;P&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 020500&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;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2012&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 020300&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I want to transform the data so I end up with something like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;CT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case2010&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case2011&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Case2012&lt;/P&gt;
&lt;P&gt;020300&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/P&gt;
&lt;P&gt;020400&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;020500&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How do I do this?? I'm really stuck. Thanks!&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 17:31:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581221#M165167</guid>
      <dc:creator>wernie</dc:creator>
      <dc:date>2019-08-14T17:31:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581225#M165168</link>
      <description>&lt;P&gt;PROC TRANSPOSE will do this for you, you will need to use BY CT;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Usually, this type of transformation into a format where years become part of the variable names is not useful in SAS (although there are exceptions, one of which is if you need to report this in Excel in a pre-determined format)&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 17:45:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581225#M165168</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2019-08-14T17:45:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581229#M165171</link>
      <description>Thanks! It's showing COL1 and COL2 for the new columns, which makes me think it's not doing what I want it to be doing because there should be 3 variables for the different years.&lt;BR /&gt;I did proc transpose data = in out = new;&lt;BR /&gt;     by CT;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;I think I'm missing something?</description>
      <pubDate>Wed, 14 Aug 2019 17:54:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581229#M165171</guid>
      <dc:creator>wernie</dc:creator>
      <dc:date>2019-08-14T17:54:50Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581235#M165173</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Cases Year CT;
datalines;
2 2010 020300
1 2010 020400
2 2011 020500
1 2012 020300
;

proc sort data=have;
	by CT;
run;

proc transpose data=have out=want(drop=_name_) prefix=Case;
	by CT;
	id Year;
	var Cases;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 14 Aug 2019 18:12:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581235#M165173</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-08-14T18:12:25Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581243#M165178</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/44533"&gt;@wernie&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not really recommending, but that's how l learned/learn.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Cases      Year      CT;
cards;
2              2010       020300
1             2010        020400
2              2011       020500
1             2012        020300
;

proc sql noprint;
select distinct cats('Cases_',year),min(year),max(year) into :var_names separated by ' ',:min trimmed,:max trimmed
from have;
quit;

%let l=%eval(&amp;amp;max-&amp;amp;min+1);

proc sort data=have out=_have;
by ct ;
run;
data want;
 if 0 then set _have;/*maintain the order of variables*/
 array C(&amp;amp;min:&amp;amp;max) &amp;amp;var_names (&amp;amp;l*0);
 retain k;
 if _n_=1 then k=peekclong(addrlong(c(&amp;amp;min)),&amp;amp;l*8);
 else  call pokelong(k,addrlong(c(&amp;amp;min)),&amp;amp;l*8);
  do until(last.ct);
   set _have;
   by ct;
   c(year)=cases;
  end;
keep ct Cases_:;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 14 Aug 2019 18:42:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581243#M165178</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-14T18:42:26Z</dc:date>
    </item>
    <item>
      <title>Re: How to summarize with new variable names?</title>
      <link>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581257#M165185</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/44533"&gt;@wernie&lt;/a&gt;&amp;nbsp; &amp;nbsp;This meets your need too&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
input Cases      Year      CT;
cards;
2              2010       020300
1             2010        020400
2              2011       020500
1             2012        020300
;

proc freq data=have noprint;
weight cases;
tables ct*year/sparse out=temp(drop= percent);
run;

proc transpose data=temp out=want(drop=_:) prefix=Case_;
by ct;
id year;
var count;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Notice there is no sort required. &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2019 19:12:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/How-to-summarize-with-new-variable-names/m-p/581257#M165185</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-08-14T19:12:09Z</dc:date>
    </item>
  </channel>
</rss>

