<?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: cumulative sum across 2 groups in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717015#M221702</link>
    <description>&lt;P&gt;updated&lt;/P&gt;</description>
    <pubDate>Fri, 05 Feb 2021 10:00:17 GMT</pubDate>
    <dc:creator>noda6003</dc:creator>
    <dc:date>2021-02-05T10:00:17Z</dc:date>
    <item>
      <title>cumulative sum across 2 groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717004#M221696</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;I want to get cumulative sum between 2 groups. I have data something like this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data WORK.NSUBJ1;&lt;BR /&gt;infile datalines dsd truncover;&lt;BR /&gt;input cnt_subj:32. trt:$13. EOSE:32.;&lt;BR /&gt;datalines4;&lt;BR /&gt;1,X1D1,0.3&lt;BR /&gt;11,X1D1,1&lt;BR /&gt;1,X1D15,3&lt;BR /&gt;3,X1D15,10&lt;BR /&gt;4,X1D15,30&lt;BR /&gt;5,X1D8,3&lt;BR /&gt;5,X1D8,10&lt;BR /&gt;;;;;&lt;BR /&gt;&lt;BR /&gt;and i want sum of cnt_subj across each trt and eose.&lt;BR /&gt;I did something like this&lt;BR /&gt;data nsubj2;&lt;BR /&gt;set nsubj1;&lt;BR /&gt;by trt exose;&lt;BR /&gt;if First.trt then cnt=0;&lt;BR /&gt;cnt + cnt_subj;&lt;BR /&gt;if Last.trt;&lt;BR /&gt;keep trt exose cnt;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;But i will miss first observations of eose for example 0.3 will miss&lt;BR /&gt;&lt;BR /&gt;I want something like  below which has sum per rt and xde and populate for across for these 2 groups i.e cnt should be added up within trt and populated group wise like example trt=X1D1  cnt_subj should be 1+11=12 and i want 12 in trtr=X1D1 cnt =12 should be for EOSE=0.3 and 1 as below. my code removes the first record&lt;BR /&gt;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;TABLE width="223"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;cnt_subj&lt;/TD&gt;
&lt;TD width="60px"&gt;trt&lt;/TD&gt;
&lt;TD width="56px"&gt;EOSE&lt;/TD&gt;
&lt;TD width="49px"&gt;cnt&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;1&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D1&lt;/TD&gt;
&lt;TD width="56px"&gt;0,3&lt;/TD&gt;
&lt;TD width="49px"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;11&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D1&lt;/TD&gt;
&lt;TD width="56px"&gt;1&lt;/TD&gt;
&lt;TD width="49px"&gt;12&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;1&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D15&lt;/TD&gt;
&lt;TD width="56px"&gt;3&lt;/TD&gt;
&lt;TD width="49px"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;3&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D15&lt;/TD&gt;
&lt;TD width="56px"&gt;10&lt;/TD&gt;
&lt;TD width="49px"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;4&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D15&lt;/TD&gt;
&lt;TD width="56px"&gt;30&lt;/TD&gt;
&lt;TD width="49px"&gt;8&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;5&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D8&lt;/TD&gt;
&lt;TD width="56px"&gt;3&lt;/TD&gt;
&lt;TD width="49px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;5&lt;/TD&gt;
&lt;TD width="60px"&gt;X1D8&lt;/TD&gt;
&lt;TD width="56px"&gt;10&lt;/TD&gt;
&lt;TD width="49px"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="60px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="56px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="49px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="57px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="60px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="56px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="49px"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;&lt;BR /&gt;&lt;BR /&gt;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 05 Feb 2021 09:50:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717004#M221696</guid>
      <dc:creator>noda6003</dc:creator>
      <dc:date>2021-02-05T09:50:07Z</dc:date>
    </item>
    <item>
      <title>Re: cumulative sum across 2 groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717008#M221698</link>
      <description>&lt;P&gt;Sorry, but the code you have posted is partially unreadable, please edit it. Also it might be a good idea to explain from what the values of cnt should be derived. &lt;/P&gt;</description>
      <pubDate>Fri, 05 Feb 2021 09:29:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717008#M221698</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2021-02-05T09:29:27Z</dc:date>
    </item>
    <item>
      <title>Re: cumulative sum across 2 groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717015#M221702</link>
      <description>&lt;P&gt;updated&lt;/P&gt;</description>
      <pubDate>Fri, 05 Feb 2021 10:00:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717015#M221702</guid>
      <dc:creator>noda6003</dc:creator>
      <dc:date>2021-02-05T10:00:17Z</dc:date>
    </item>
    <item>
      <title>Re: cumulative sum across 2 groups</title>
      <link>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717017#M221703</link>
      <description>&lt;P&gt;I don't know what you mean by "2 Groups". Bot I think you want to do this&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input cnt_subj trt $ EOSE;
datalines;
1  X1D1  0.3 
11 X1D1  1   
1  X1D15 3   
3  X1D15 10  
4  X1D15 30  
5  X1D8  3   
5  X1D8  10  
;

data want;

   do until (last.trt);
      set have;
      by trt;
      cnt + cnt_subj;
   end; 

   do until (last.trt);
      set have;
      by trt;
      output;
   end;

   cnt = 0;

run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;cnt_subj  trt    EOSE  cnt 
1         X1D1   0.3   12 
11        X1D1   1.0   12 
1         X1D15  3.0   8 
3         X1D15  10.0  8 
4         X1D15  30.0  8 
5         X1D8   3.0   10 
5         X1D8   10.0  10 
&lt;/PRE&gt;</description>
      <pubDate>Fri, 05 Feb 2021 10:03:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/cumulative-sum-across-2-groups/m-p/717017#M221703</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2021-02-05T10:03:45Z</dc:date>
    </item>
  </channel>
</rss>

