<?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: Summarize columns in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237350#M43508</link>
    <description>&lt;P&gt;Thanks for the answers&amp;nbsp;&lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.sas.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 02 Dec 2015 11:04:39 GMT</pubDate>
    <dc:creator>DartRodrigo</dc:creator>
    <dc:date>2015-12-02T11:04:39Z</dc:date>
    <item>
      <title>Summarize columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237236#M43484</link>
      <description>&lt;P&gt;Hi, i have an easy&amp;nbsp;daubt.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But i forgot, how can i summarize columns var1 -- var5 &amp;nbsp;like var1 = 10 var2 = 20 the next columns are the results summarizing of the two columns before.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;just like: &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;var1 var2 var3&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10 &amp;nbsp; &amp;nbsp;20 &amp;nbsp; &amp;nbsp;var1+var2 &amp;nbsp;and so on.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This can be made in columns or lines:&lt;/P&gt;
&lt;P&gt;var1 var2 var3&amp;nbsp;&lt;/P&gt;
&lt;P&gt;10 &amp;nbsp; &amp;nbsp;20 &amp;nbsp; &amp;nbsp;var1+var2 &amp;nbsp;and so on.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Lines&lt;/P&gt;
&lt;P&gt;10&lt;/P&gt;
&lt;P&gt;20&lt;/P&gt;
&lt;P&gt;30&lt;/P&gt;
&lt;P&gt;50&lt;/P&gt;
&lt;P&gt;80&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks in advance&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2015 19:12:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237236#M43484</guid>
      <dc:creator>DartRodrigo</dc:creator>
      <dc:date>2015-12-01T19:12:11Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237248#M43489</link>
      <description>&lt;P&gt;On the one hand, you describe adding columns within a row,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;and then the data you provide has only one column and many rows.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's not clear to me what you really are trying to do.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can you clarify?&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2015 19:59:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237248#M43489</guid>
      <dc:creator>PaigeMiller</dc:creator>
      <dc:date>2015-12-01T19:59:02Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237280#M43494</link>
      <description>&lt;P&gt;I think this is what you are asking for:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;lines=10;&lt;/P&gt;
&lt;P&gt;back1=0;&lt;/P&gt;
&lt;P&gt;back2=0;&lt;/P&gt;
&lt;P&gt;do i=1 to 20;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;back2 = back1;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;back1 = lines;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;lines + back2;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;keep lines;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;That would give you the first 20 values in the series.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also note, usually a Fibonacci series repeats the first item in the series. &amp;nbsp;If that's what you want, this is untested, but should work:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;lines=10;&lt;/P&gt;
&lt;P&gt;do i=1 to 20;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;lines + lag2(lines);&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &amp;nbsp;output;&lt;/P&gt;
&lt;P&gt;end;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It's unusual to use LAG in a loop, but I think it would work here.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Good luck.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 00:01:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237280#M43494</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2015-12-02T00:01:24Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237291#M43496</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/50353"&gt;@DartRodrigo﻿&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I know that you are mathematically inclined. So, I guess you want to compute the Fibonacci numbers (with somewhat uncommon initial values, though).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Oh, I just see,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/4954"&gt;@Astounding﻿&lt;/a&gt;&amp;nbsp;had the same understanding. (And, like me, he was also tempted by the LAG2 function.)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here are my suggestions:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Fibonacci numbers, wide format */

data fibo_wide;
array a[25];
a1=1;
a2=1;
do n=3 to dim(a);
  a[n]=a[n-1]+a[n-2];
end;
drop n;
proc print width=min;
run;


/* Ditto with initial values 10, 20 */

data fibo_10_20_wide;
array a[25];
a1=10;
a2=20;
do n=3 to dim(a);
  a[n]=a[n-1]+a[n-2];
end;
drop n;
proc print width=min;
run;


/* Fibonacci numbers, long format */

data fibo_long;
i=1; a=1;
output;
do i=2 to 25;
  a+lag(a);
  output;
end;
proc print;
run;


/* Ditto with initial values 10, 20 */

data fibo_10_20_long;
a=10;
do i=1 to 25;
  a+lag(a);
  output;
end;
proc print;
var i a ;
run;


/* Ditto, but allowing for arbitrary initial values */

data fibo_10_20_long;
do i=1 to 25;
       if i=1 then a=10;
  else if i=2 then a=20;
  else a+lag_a;
  output;
  lag_a=lag(a);
end;
drop lag_a;
proc print;
run;


/* Ditto, but without IF-THEN-ELSE logic */

data fibo_10_20_long;
i=1; a=10; link sub;
i=2; a=20; link sub;
do i=3 to 25;
  a+lag_a;
  link sub;
end;
stop;

sub:
  output;
  lag_a=lag(a);
return;

drop lag_a;
proc print;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 00:44:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237291#M43496</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2015-12-02T00:44:40Z</dc:date>
    </item>
    <item>
      <title>Re: Summarize columns</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237350#M43508</link>
      <description>&lt;P&gt;Thanks for the answers&amp;nbsp;&lt;img id="smileywink" class="emoticon emoticon-smileywink" src="https://communities.sas.com/i/smilies/16x16_smiley-wink.png" alt="Smiley Wink" title="Smiley Wink" /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 11:04:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Summarize-columns/m-p/237350#M43508</guid>
      <dc:creator>DartRodrigo</dc:creator>
      <dc:date>2015-12-02T11:04:39Z</dc:date>
    </item>
  </channel>
</rss>

