<?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: Building a logic to  add consecutive variables values to one in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261604#M50946</link>
    <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data HAVE;
infile cards missover;
input (ID VAL1-VAL8) ($) ;
cards;
C1 a  a  b  c d d
V1 10 12 2 4 5 7
C2 s s f f e e
V2 2 3 4 5 6 7 
C3 q q w d e e e e
V3 2 5 6 7 8 8 8 8
C4 f f f f f f g h  
V4 3 4 5 6 7 6 7 8  
run;

 
data WANT;
  merge HAVE(rename=(ID=IDC VAL1=VALC1 VAL2=VALC2 VAL3=VALC3 VAL4=VALC4 VAL5=VALC5 VAL6=VALC6 VAL7=VALC7 VAL8=VALC8) 
             where=(IDC=:'C'))
        HAVE(rename=(ID=IDN VAL1=VALN1 VAL2=VALN2 VAL3=VALN3 VAL4=VALN4 VAL5=VALN5 VAL6=VALN6 VAL7=VALN7 VAL8=VALN8) 
             where=(IDN=:'V'));
  array VAL   [8] $;
  array VALC  [8] $;
  array VALN  [8] $;
  I=2;
  do while(VALC[I] ne ' ');
    if VALC[I]=VALC[I-1] then do;
      VALN[I-1] =cat(input(VALN[I],9.) + input(VALN[I-1],9.));
      do J=I to 7;
        VALC[J] =VALC[J+1];
        VALN[J] =VALN[J+1];
      end;
      VALC[8] =' ';
      VALN[8] =' ';
    end;
    else I+1;
  end;
  ID=IDC;
  do I=1 to 8;
    VAL[I]=VALC[I];
  end;
  output ;
  ID=IDN;
  do I=1 to 8;
    VAL[I]=VALN[I];
  end;
  output;
  keep ID VAL1-VAL8;
run;
proc print; 
  var ID VAL1-VAL8;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;&lt;A name="IDX" target="_blank"&gt;&lt;/A&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" rules="all" frame="box" cellspacing="0" cellpadding="5" summary="Procedure Print: Data Set WORK.WANT"&gt;&lt;COLGROUP&gt; &lt;COL /&gt;&lt;/COLGROUP&gt; &lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL1&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL2&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL3&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL4&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL5&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL6&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL7&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL8&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;C1&lt;/TD&gt;
&lt;TD class="l data"&gt;a&lt;/TD&gt;
&lt;TD class="l data"&gt;b&lt;/TD&gt;
&lt;TD class="l data"&gt;c&lt;/TD&gt;
&lt;TD class="l data"&gt;d&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;V1&lt;/TD&gt;
&lt;TD class="l data"&gt;22&lt;/TD&gt;
&lt;TD class="l data"&gt;2&lt;/TD&gt;
&lt;TD class="l data"&gt;4&lt;/TD&gt;
&lt;TD class="l data"&gt;12&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;C2&lt;/TD&gt;
&lt;TD class="l data"&gt;s&lt;/TD&gt;
&lt;TD class="l data"&gt;f&lt;/TD&gt;
&lt;TD class="l data"&gt;e&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;V2&lt;/TD&gt;
&lt;TD class="l data"&gt;5&lt;/TD&gt;
&lt;TD class="l data"&gt;9&lt;/TD&gt;
&lt;TD class="l data"&gt;13&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;C3&lt;/TD&gt;
&lt;TD class="l data"&gt;q&lt;/TD&gt;
&lt;TD class="l data"&gt;w&lt;/TD&gt;
&lt;TD class="l data"&gt;d&lt;/TD&gt;
&lt;TD class="l data"&gt;e&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;V3&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;6&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;32&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;C4&lt;/TD&gt;
&lt;TD class="l data"&gt;f&lt;/TD&gt;
&lt;TD class="l data"&gt;g&lt;/TD&gt;
&lt;TD class="l data"&gt;h&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;V4&lt;/TD&gt;
&lt;TD class="l data"&gt;31&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;8&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 06 Apr 2016 06:27:00 GMT</pubDate>
    <dc:creator>ChrisNZ</dc:creator>
    <dc:date>2016-04-06T06:27:00Z</dc:date>
    <item>
      <title>Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261595#M50944</link>
      <description>&lt;P&gt;Hi Guys,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Could you please help me to build a logic? Test scenario given below:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Data set contains values:&lt;/P&gt;&lt;P&gt;C1 a&amp;nbsp; &amp;nbsp;a &amp;nbsp; b &amp;nbsp;c d d&lt;/P&gt;&lt;P&gt;V1 10 12 2 4 5 7&lt;/P&gt;&lt;P&gt;C2 s s f f e e&lt;/P&gt;&lt;P&gt;V2 2 3 4 5 6 7&amp;nbsp;&lt;/P&gt;&lt;P&gt;C3 q q w d e e e e&lt;/P&gt;&lt;P&gt;V3 2 5 6 7 8 8 8 8&lt;/P&gt;&lt;P&gt;C4 f f f f f f g h j k&amp;nbsp;&lt;/P&gt;&lt;P&gt;V4 3&amp;nbsp;4 5 6 7 6 7 8 8 &amp;nbsp;6&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result i am looking for :&lt;/P&gt;&lt;P&gt;C1 a b c &amp;nbsp;d&lt;/P&gt;&lt;P&gt;V1 22 2 4 12&lt;/P&gt;&lt;P&gt;C2 s f e&lt;/P&gt;&lt;P&gt;V2 5 9 13&lt;/P&gt;&lt;P&gt;C3 q w d e&lt;/P&gt;&lt;P&gt;V3 7 6 7 32&lt;/P&gt;&lt;P&gt;C4 f g h j k&lt;/P&gt;&lt;P&gt;V4 31 76 7 8 8 6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basicaly, i want to reduce the row sequence by adding consecutives values and make it one.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Please provide your comments if possible.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Parveen&lt;/P&gt;</description>
      <pubDate>Wed, 06 Apr 2016 05:34:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261595#M50944</guid>
      <dc:creator>Lohia</dc:creator>
      <dc:date>2016-04-06T05:34:17Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261600#M50945</link>
      <description>For the chars I think I get the logic.&lt;BR /&gt;Transpose to long and simply do select distinct/proc sort NODUPKEY. &lt;BR /&gt;The logic for the numbers I don't get. Please elaborate.</description>
      <pubDate>Wed, 06 Apr 2016 06:10:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261600#M50945</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-04-06T06:10:28Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261604#M50946</link>
      <description>&lt;P&gt;Like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data HAVE;
infile cards missover;
input (ID VAL1-VAL8) ($) ;
cards;
C1 a  a  b  c d d
V1 10 12 2 4 5 7
C2 s s f f e e
V2 2 3 4 5 6 7 
C3 q q w d e e e e
V3 2 5 6 7 8 8 8 8
C4 f f f f f f g h  
V4 3 4 5 6 7 6 7 8  
run;

 
data WANT;
  merge HAVE(rename=(ID=IDC VAL1=VALC1 VAL2=VALC2 VAL3=VALC3 VAL4=VALC4 VAL5=VALC5 VAL6=VALC6 VAL7=VALC7 VAL8=VALC8) 
             where=(IDC=:'C'))
        HAVE(rename=(ID=IDN VAL1=VALN1 VAL2=VALN2 VAL3=VALN3 VAL4=VALN4 VAL5=VALN5 VAL6=VALN6 VAL7=VALN7 VAL8=VALN8) 
             where=(IDN=:'V'));
  array VAL   [8] $;
  array VALC  [8] $;
  array VALN  [8] $;
  I=2;
  do while(VALC[I] ne ' ');
    if VALC[I]=VALC[I-1] then do;
      VALN[I-1] =cat(input(VALN[I],9.) + input(VALN[I-1],9.));
      do J=I to 7;
        VALC[J] =VALC[J+1];
        VALN[J] =VALN[J+1];
      end;
      VALC[8] =' ';
      VALN[8] =' ';
    end;
    else I+1;
  end;
  ID=IDC;
  do I=1 to 8;
    VAL[I]=VALC[I];
  end;
  output ;
  ID=IDN;
  do I=1 to 8;
    VAL[I]=VALN[I];
  end;
  output;
  keep ID VAL1-VAL8;
run;
proc print; 
  var ID VAL1-VAL8;
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;&lt;A name="IDX" target="_blank"&gt;&lt;/A&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" rules="all" frame="box" cellspacing="0" cellpadding="5" summary="Procedure Print: Data Set WORK.WANT"&gt;&lt;COLGROUP&gt; &lt;COL /&gt;&lt;/COLGROUP&gt; &lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;ID&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL1&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL2&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL3&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL4&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL5&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL6&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL7&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;VAL8&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;C1&lt;/TD&gt;
&lt;TD class="l data"&gt;a&lt;/TD&gt;
&lt;TD class="l data"&gt;b&lt;/TD&gt;
&lt;TD class="l data"&gt;c&lt;/TD&gt;
&lt;TD class="l data"&gt;d&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;V1&lt;/TD&gt;
&lt;TD class="l data"&gt;22&lt;/TD&gt;
&lt;TD class="l data"&gt;2&lt;/TD&gt;
&lt;TD class="l data"&gt;4&lt;/TD&gt;
&lt;TD class="l data"&gt;12&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;C2&lt;/TD&gt;
&lt;TD class="l data"&gt;s&lt;/TD&gt;
&lt;TD class="l data"&gt;f&lt;/TD&gt;
&lt;TD class="l data"&gt;e&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;V2&lt;/TD&gt;
&lt;TD class="l data"&gt;5&lt;/TD&gt;
&lt;TD class="l data"&gt;9&lt;/TD&gt;
&lt;TD class="l data"&gt;13&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;C3&lt;/TD&gt;
&lt;TD class="l data"&gt;q&lt;/TD&gt;
&lt;TD class="l data"&gt;w&lt;/TD&gt;
&lt;TD class="l data"&gt;d&lt;/TD&gt;
&lt;TD class="l data"&gt;e&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;6&lt;/TH&gt;
&lt;TD class="l data"&gt;V3&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;6&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;32&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;7&lt;/TH&gt;
&lt;TD class="l data"&gt;C4&lt;/TD&gt;
&lt;TD class="l data"&gt;f&lt;/TD&gt;
&lt;TD class="l data"&gt;g&lt;/TD&gt;
&lt;TD class="l data"&gt;h&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;8&lt;/TH&gt;
&lt;TD class="l data"&gt;V4&lt;/TD&gt;
&lt;TD class="l data"&gt;31&lt;/TD&gt;
&lt;TD class="l data"&gt;7&lt;/TD&gt;
&lt;TD class="l data"&gt;8&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 06 Apr 2016 06:27:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261604#M50946</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-04-06T06:27:00Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261605#M50947</link>
      <description>&lt;P&gt;Hi LinusH,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;In this data , two rows works in pair.&lt;/P&gt;&lt;P&gt;Like first pair: [C1] a a b c d d [V1] 10 12 2 4 5 7 Result: [C1] a b c d [V1] 22 2 4 12 You can see here, a repeated two times, so it becomes one and in same time a's values are also added in next row.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;C1 and V1 are two rows in which C1 having chars and v1 contains char values.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tihnk , you can get it (i tried to explain &amp;nbsp;&lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; )&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Apr 2016 06:27:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261605#M50947</guid>
      <dc:creator>Lohia</dc:creator>
      <dc:date>2016-04-06T06:27:32Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261612#M50950</link>
      <description>Hi ChrisNZ, Thanks a lot for the solution. I ran this logic on 61 variables and 500 observations . You rock &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt; .</description>
      <pubDate>Wed, 06 Apr 2016 07:24:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261612#M50950</guid>
      <dc:creator>Lohia</dc:creator>
      <dc:date>2016-04-06T07:24:03Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261625#M50954</link>
      <description>&lt;P&gt;Hi &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/65745"&gt;@Lohia﻿&lt;/a&gt; if this works so well for you, please consider accepting this as a solution, giving &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ﻿&lt;/a&gt; the forum credits he deserves. &lt;img id="smileyhappy" class="emoticon emoticon-smileyhappy" src="https://communities.sas.com/i/smilies/16x16_smiley-happy.png" alt="Smiley Happy" title="Smiley Happy" /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 06 Apr 2016 08:13:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261625#M50954</guid>
      <dc:creator>jklaverstijn</dc:creator>
      <dc:date>2016-04-06T08:13:31Z</dc:date>
    </item>
    <item>
      <title>Re: Building a logic to  add consecutive variables values to one</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261637#M50956</link>
      <description>&lt;PRE&gt;
data HAVE;
infile cards missover;
input (ID VAL1-VAL8) ($) ;
cards;
C1 a  a  b  c d d
V1 10 12 2 4 5 7
C2 s s f f e e
V2 2 3 4 5 6 7 
C3 q q w d e e e e
V3 2 5 6 7 8 8 8 8
C4 f f f f f f g h  
V4 3 4 5 6 7 6 7 8  
run;
proc transpose data=have out=temp(drop=_name_);
by id notsorted;
var val:;
run;
data temp1;
 merge temp(where=(id=:'C' and col1 is not missing))
       temp(where=(_id=:'V' and _col1 is not missing) rename=(id=_id col1=_col1) );
run;
data temp2;
 set temp1;
 by id col1 notsorted;
 if first.col1 then sum=0;
 sum+input(_col1,best8.);      
 if last.col1;
run;
proc transpose data=temp2 out=temp3;
 by id _id notsorted;
 var col1 sum;
run;
data want;
 set temp3;
 length new_id $ 40;
 new_id=ifc(_name_='COL1',id,_id);
 drop id _id _name_;
run;





&lt;/PRE&gt;</description>
      <pubDate>Wed, 06 Apr 2016 09:28:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Building-a-logic-to-add-consecutive-variables-values-to-one/m-p/261637#M50956</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2016-04-06T09:28:28Z</dc:date>
    </item>
  </channel>
</rss>

