<?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: data management in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356147#M274100</link>
    <description>&lt;P&gt;Thank you so much for you precious help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;True absolutly, var3 does not exist. I mean by var3, the third variable in both tables, that is exactly &lt;STRONG&gt;mt&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was not coding in my explanation, using this notation &lt;STRONG&gt;[table.var3]&lt;/STRONG&gt;, i tried to say &lt;STRONG&gt;[var3 of table1]. Sorry.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I enclose a true capture of table1, table2 and table_want like i mean.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Using the merge data step and the proc sql above, i haven't the result wanted. Of course because of me&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;in my first post.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thank for you helping me !&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Regards &amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 04 May 2017 22:03:58 GMT</pubDate>
    <dc:creator>DoumbiaS</dc:creator>
    <dc:date>2017-05-04T22:03:58Z</dc:date>
    <item>
      <title>data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356096#M274097</link>
      <description>&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Hey ! Someone here could help me please ! I have 2 datasets like below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Table1 has more variables than table2, both have commun variables.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;But i'm focusting on &lt;STRONG&gt;id, vch&lt;/STRONG&gt; and &lt;STRONG&gt;mt&lt;/STRONG&gt; commun variables;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; table1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;input&lt;/SPAN&gt;&lt;SPAN&gt; (id vch) ($) &amp;nbsp;mt ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;cards&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;civ &amp;nbsp; &amp;nbsp; a &amp;nbsp; &amp;nbsp; 30 &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;sen &amp;nbsp; b &amp;nbsp; &amp;nbsp; 20 &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;sen &amp;nbsp; a &amp;nbsp; &amp;nbsp; 10 &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;civ &amp;nbsp; &amp;nbsp; c &amp;nbsp; &amp;nbsp; 30 &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;buk &amp;nbsp; c &amp;nbsp; &amp;nbsp; 15 &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;run&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;STRONG&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; table2;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;input&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt; (id vch) ($) &amp;nbsp;mt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;cards&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;civ &amp;nbsp; &amp;nbsp;a &amp;nbsp; 20&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;sen &amp;nbsp; b &amp;nbsp;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;civ &amp;nbsp; &amp;nbsp;c &amp;nbsp; 40&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;run&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;This&lt;/SPAN&gt;&lt;SPAN&gt; is the resulting table i&lt;/SPAN&gt;&lt;SPAN&gt;'m seeking for. And i try explainations below.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&lt;STRONG&gt;civ &amp;nbsp; &amp;nbsp; a &amp;nbsp; &amp;nbsp; 10 &amp;nbsp;&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[= 30-20]&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&lt;STRONG&gt;sen &amp;nbsp; &amp;nbsp;b &amp;nbsp; &amp;nbsp; 05&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [= 20-15]&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&lt;STRONG&gt;sen &amp;nbsp; &amp;nbsp;a &amp;nbsp; &amp;nbsp;10&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[because there is no combination "&lt;STRONG&gt;sen &amp;nbsp; a&lt;/STRONG&gt;" &amp;nbsp;in table2]&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&lt;STRONG&gt;civ &amp;nbsp; &amp;nbsp; c &amp;nbsp; &amp;nbsp; 00&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[because 40&amp;gt;30]&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&lt;STRONG&gt;buk &amp;nbsp; &amp;nbsp;c &amp;nbsp; &amp;nbsp; 05 &amp;nbsp;&lt;/STRONG&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;[= 15-(40-30)]&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;I'&lt;/SPAN&gt;&lt;SPAN&gt;m concatening the &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/STRONG&gt; &lt;SPAN&gt;tables.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;For an observation for which this &lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;2&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt; variables (id, vch) are the same:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;First:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;I keep only one &lt;/SPAN&gt;&lt;SPAN&gt;observation.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Second:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;For this only and remaining obs,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;nbsp;&lt;STRONG&gt;table1.var3 &amp;gt;= table2.var3&lt;/STRONG&gt;&amp;nbsp; &amp;nbsp;then &amp;nbsp;&lt;STRONG&gt;var3 =&amp;nbsp; sum(table1.var3, - table2.var3)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;nbsp;&lt;STRONG&gt;table1.var3 &amp;lt; table2.var3&lt;/STRONG&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp; then &amp;nbsp;&lt;STRONG&gt;var3 = &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;STRONG&gt;&lt;SPAN&gt;0&amp;nbsp;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;SPAN&gt;and &lt;STRONG&gt;sum(- table1.var3, table2.var3)&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; will be allocated to &lt;STRONG&gt;another obs&lt;/STRONG&gt; which as the &lt;STRONG&gt;same vch value&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt; In this case, this other obs always &lt;/SPAN&gt;&lt;SPAN&gt;exist.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="x_MsoNormal"&gt;&lt;SPAN&gt;Thanks a lot !&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 19:59:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356096#M274097</guid>
      <dc:creator>DoumbiaS</dc:creator>
      <dc:date>2017-05-04T19:59:18Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356115#M274098</link>
      <description>&lt;P&gt;A data step and merge solution for the first part:&lt;/P&gt;
&lt;PRE&gt;proc sort data=table1;
   by id vch;
run;
proc sort data=table2;
   by id vch;
run;


data want;
   merge 
      table1
      table2 (rename=(mt = mt2));
   by id vch;
   if missing(mt2) then newmt = mt;
   else if mt2 &amp;gt; mt then newmt=0;
   else newmt= mt - mt2;
run;&lt;/PRE&gt;
&lt;P&gt;sql&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql;
   create table want as
   select a.id, a.vch,
          case 
             when missing (b.mt) then 0
             when  b.mt &amp;gt; a.mt then a.mt
             else a.mt - b.mt 
         end as newmt
  from table1 as a left join table2 as b
       on a.id=b.id and a.vch=b.vch;
quit;&lt;/PRE&gt;
&lt;P&gt;I have to say that you will need to manually supply an example of your output with this var3 stuff as 1) you don't have var2 in&amp;nbsp;either table1 or table2 but reference it as existing and it isn't clear quite what you mean as sql sum does not work that way.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 20:38:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356115#M274098</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2017-05-04T20:38:41Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356140#M274099</link>
      <description>&lt;P&gt;I think that the following does what you want:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;proc sql noprint;
  create table need as
    select a.id,a.vch,a.mt-b.mt as rem,
           case
             when b.mt is null then a.mt
             else max(0,(a.mt-b.mt))
           end as mt,
           case
             when b.mt is null then 1
             when (a.mt-b.mt) lt 0 then 2
             else 0
           end as test
        from table1 a full join table2 b
          on a.id=b.id and 
             a.vch=b.vch
            order by a.vch,test
  ;
quit;

data want (keep=id vch mt);
  set need;
  by vch;
  if test eq 1 and not last.vch then do;
    pointer=_n_+1;
    set need (keep=rem test rename=(rem=rem2 test=test2)) point=pointer;
    if test2=2 then mt=mt+rem2;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 21:37:53 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356140#M274099</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-05-04T21:37:53Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356147#M274100</link>
      <description>&lt;P&gt;Thank you so much for you precious help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;True absolutly, var3 does not exist. I mean by var3, the third variable in both tables, that is exactly &lt;STRONG&gt;mt&lt;/STRONG&gt;.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was not coding in my explanation, using this notation &lt;STRONG&gt;[table.var3]&lt;/STRONG&gt;, i tried to say &lt;STRONG&gt;[var3 of table1]. Sorry.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;I enclose a true capture of table1, table2 and table_want like i mean.&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Using the merge data step and the proc sql above, i haven't the result wanted. Of course because of me&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;in my first post.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Thank for you helping me !&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Regards &amp;nbsp;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 22:03:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356147#M274100</guid>
      <dc:creator>DoumbiaS</dc:creator>
      <dc:date>2017-05-04T22:03:58Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356151#M274101</link>
      <description>&lt;P&gt;Your new want table doesn't come close to your previous one. The code I suggested, earlier, matches what you then said you wanted.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 22:12:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356151#M274101</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-05-04T22:12:52Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356156#M274102</link>
      <description>&lt;P&gt;Sorry,&amp;nbsp;I did not see your answer before making my first answer.&lt;/P&gt;&lt;P&gt;I enclose the want result table i find with your code.&amp;nbsp;It is different from mine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your help, i will continue helping myself with the code you all give me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;BR /&gt;&lt;IMG src="https://communities.sas.com/t5/image/serverpage/image-id/13786iDFB27C92D73B82D3/image-size/large?v=1.0&amp;amp;px=600" border="0" alt="your_want.PNG" title="your_want.PNG" /&gt;</description>
      <pubDate>Thu, 04 May 2017 22:27:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356156#M274102</guid>
      <dc:creator>DoumbiaS</dc:creator>
      <dc:date>2017-05-04T22:27:11Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356158#M274103</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data TABLE1(index=(A=(ID VCH)));
  input (ID VCH) ($)  MT ;
cards;
civ     a     30    
sen   b     20    
sen   a     10    
civ     c     30    
buk   c     15     
run;
data TABLE2(index=(A=(ID VCH)));
  input  (ID VCH) ($)  MT;
cards;
civ    a   20
sen   b  15
civ    c   40
run;
  
data TMP(index=(A=(VCH SUM)));
  merge TABLE1 TABLE2(rename=(MT=MT2));
  by ID VCH;
  SUM=sum(MT,-MT2);
run;
    
data WANT;
  retain ALLOC;
  set TMP;
  by VCH SUM;
  if ALLOC then do;
    SUM=SUM+ALLOC;
    ALLOC=0;
  end;
  if SUM&amp;lt;0 then do;
    ALLOC=SUM;
    SUM=0;
  end;
run;
   
 &lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.WANT" frame="box" rules="all" cellpadding="5" cellspacing="0"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="l header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VCH&lt;/TH&gt;
&lt;TH class="r header" scope="col"&gt;SUM&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;civ&lt;/TD&gt;
&lt;TD class="l data"&gt;a&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;sen&lt;/TD&gt;
&lt;TD class="l data"&gt;a&lt;/TD&gt;
&lt;TD class="r data"&gt;10&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;sen&lt;/TD&gt;
&lt;TD class="l data"&gt;b&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;civ&lt;/TD&gt;
&lt;TD class="l data"&gt;c&lt;/TD&gt;
&lt;TD class="r data"&gt;0&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="l data"&gt;buk&lt;/TD&gt;
&lt;TD class="l data"&gt;c&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Thu, 04 May 2017 22:27:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356158#M274103</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-05-04T22:27:48Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356159#M274104</link>
      <description>&lt;P&gt;Other than the order of the records, my result and your original desired table are (I think) identical!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 22:32:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356159#M274104</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-05-04T22:32:59Z</dc:date>
    </item>
    <item>
      <title>Re: data management</title>
      <link>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356165#M274105</link>
      <description>&lt;P&gt;Oh great think to all, for your spontanous responses !&lt;/P&gt;&lt;P&gt;The first solution give by &lt;STRONG&gt;art297 &lt;/STRONG&gt;is absolutly true and like i want.&lt;/P&gt;&lt;P&gt;Also as the one give by&lt;SPAN class="login-bold"&gt;&amp;nbsp;&lt;STRONG&gt;ChrisNZ.&amp;nbsp;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;Thank you so much to everyone, hope that i will learn more practicing&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;and developing my sas skills by your side.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="login-bold"&gt;Regards&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 04 May 2017 22:44:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/data-management/m-p/356165#M274105</guid>
      <dc:creator>DoumbiaS</dc:creator>
      <dc:date>2017-05-04T22:44:34Z</dc:date>
    </item>
  </channel>
</rss>

