<?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 concatenating prior values in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292800#M270124</link>
    <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having trouble concatenating prior rows. I have a few stipulations which is confusing me as to how to use the retain .&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) I need to sort by LOT descending.&lt;/P&gt;&lt;P&gt;2) the 'code' of the first reportable id (include=1) needs to be retained so that it can be placed in the following record for the combination variable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;3)&amp;nbsp;subsequent rows need to concatenate code values into the combination column&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the sample data and below is what I want the combination column to look like.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input ID lot Include Code $ ;&lt;BR /&gt;infile datalines delimiter=',' missover;&lt;BR /&gt;datalines;&lt;BR /&gt;50971,3,0,&lt;BR /&gt;50971,2,1,17&lt;BR /&gt;50971,1,1,61&lt;BR /&gt;359483,7,0,&lt;BR /&gt;359483,6,1,55&lt;BR /&gt;359483,5,1,158&lt;BR /&gt;359483,4,1,188&lt;BR /&gt;359483,3,1,191&lt;BR /&gt;359483,2,1,57&lt;BR /&gt;359483,1,1,61&lt;BR /&gt;654394,4,1,49&lt;BR /&gt;654394,3,1,50&lt;BR /&gt;654394,2,1,29&lt;BR /&gt;654394,1.01,1,61&lt;BR /&gt;654394,1,1,61&lt;BR /&gt;655118,6,1,140&lt;BR /&gt;655118,5,1,191&lt;BR /&gt;655118,4,1,188&lt;BR /&gt;655118,3,1,57&lt;BR /&gt;655118,2,1,50&lt;BR /&gt;655118,1,1,61&lt;BR /&gt;655451,4,1,140&lt;BR /&gt;655451,3,1,188&lt;BR /&gt;655451,2,1,57&lt;BR /&gt;655451,1,1,61&lt;BR /&gt;2646990,3,1,140&lt;BR /&gt;2646990,2,1,158&lt;BR /&gt;2646990,1,1,188&lt;BR /&gt;2813559,2,1,49&lt;BR /&gt;2813559,1,1,61&lt;BR /&gt;2976371,1,1,61&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=have;&lt;BR /&gt;by id descending lot;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;format codeprior combination $30.;&lt;BR /&gt;set have;&lt;BR /&gt;by id descending lot ;&lt;BR /&gt;retain combination ;&lt;BR /&gt;codeprior = lag(code) ;&lt;/P&gt;&lt;P&gt;/*initialize to missing at the start of each id*/&lt;BR /&gt;/*cannot use as else statement because first id could be include = 0 */&lt;BR /&gt;if first.id then do;&lt;BR /&gt;codeprior = "";&lt;BR /&gt;combination="" ;&lt;BR /&gt;end ;&lt;/P&gt;&lt;P&gt;/*define combination*/&lt;BR /&gt;if include=1 and codeprior ne "" then combination=codeprior ;&lt;BR /&gt;else if include =1 then combination = catx(".", combination, codeprior) ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Lot&lt;/TD&gt;&lt;TD&gt;Include&lt;/TD&gt;&lt;TD&gt;Code&lt;/TD&gt;&lt;TD&gt;Combined&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;158&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;55.158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;191&lt;/TD&gt;&lt;TD&gt;55.158.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;55.158.188.191&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;55.158.188.191.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;49.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;1.01&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49.50.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49.50.29.61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;191&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140.191&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;140.191.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;140.191.188.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;140.191.188.57.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;140.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;140.188.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;158&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140.158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2813559&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2813559&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2976371&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Welcome suggestions!!&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 19 Aug 2016 17:52:59 GMT</pubDate>
    <dc:creator>CP2</dc:creator>
    <dc:date>2016-08-19T17:52:59Z</dc:date>
    <item>
      <title>concatenating prior values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292800#M270124</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am having trouble concatenating prior rows. I have a few stipulations which is confusing me as to how to use the retain .&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) I need to sort by LOT descending.&lt;/P&gt;&lt;P&gt;2) the 'code' of the first reportable id (include=1) needs to be retained so that it can be placed in the following record for the combination variable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;3)&amp;nbsp;subsequent rows need to concatenate code values into the combination column&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is the sample data and below is what I want the combination column to look like.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;BR /&gt;input ID lot Include Code $ ;&lt;BR /&gt;infile datalines delimiter=',' missover;&lt;BR /&gt;datalines;&lt;BR /&gt;50971,3,0,&lt;BR /&gt;50971,2,1,17&lt;BR /&gt;50971,1,1,61&lt;BR /&gt;359483,7,0,&lt;BR /&gt;359483,6,1,55&lt;BR /&gt;359483,5,1,158&lt;BR /&gt;359483,4,1,188&lt;BR /&gt;359483,3,1,191&lt;BR /&gt;359483,2,1,57&lt;BR /&gt;359483,1,1,61&lt;BR /&gt;654394,4,1,49&lt;BR /&gt;654394,3,1,50&lt;BR /&gt;654394,2,1,29&lt;BR /&gt;654394,1.01,1,61&lt;BR /&gt;654394,1,1,61&lt;BR /&gt;655118,6,1,140&lt;BR /&gt;655118,5,1,191&lt;BR /&gt;655118,4,1,188&lt;BR /&gt;655118,3,1,57&lt;BR /&gt;655118,2,1,50&lt;BR /&gt;655118,1,1,61&lt;BR /&gt;655451,4,1,140&lt;BR /&gt;655451,3,1,188&lt;BR /&gt;655451,2,1,57&lt;BR /&gt;655451,1,1,61&lt;BR /&gt;2646990,3,1,140&lt;BR /&gt;2646990,2,1,158&lt;BR /&gt;2646990,1,1,188&lt;BR /&gt;2813559,2,1,49&lt;BR /&gt;2813559,1,1,61&lt;BR /&gt;2976371,1,1,61&lt;BR /&gt;;&lt;BR /&gt;run;&lt;BR /&gt;proc sort data=have;&lt;BR /&gt;by id descending lot;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;BR /&gt;format codeprior combination $30.;&lt;BR /&gt;set have;&lt;BR /&gt;by id descending lot ;&lt;BR /&gt;retain combination ;&lt;BR /&gt;codeprior = lag(code) ;&lt;/P&gt;&lt;P&gt;/*initialize to missing at the start of each id*/&lt;BR /&gt;/*cannot use as else statement because first id could be include = 0 */&lt;BR /&gt;if first.id then do;&lt;BR /&gt;codeprior = "";&lt;BR /&gt;combination="" ;&lt;BR /&gt;end ;&lt;/P&gt;&lt;P&gt;/*define combination*/&lt;BR /&gt;if include=1 and codeprior ne "" then combination=codeprior ;&lt;BR /&gt;else if include =1 then combination = catx(".", combination, codeprior) ;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Lot&lt;/TD&gt;&lt;TD&gt;Include&lt;/TD&gt;&lt;TD&gt;Code&lt;/TD&gt;&lt;TD&gt;Combined&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;50971&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;17&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;158&lt;/TD&gt;&lt;TD&gt;55&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;55.158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;191&lt;/TD&gt;&lt;TD&gt;55.158.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;55.158.188.191&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;359483&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;55.158.188.191.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;29&lt;/TD&gt;&lt;TD&gt;49.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;1.01&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49.50.29&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;654394&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49.50.29.61&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;191&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140.191&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;140.191.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;50&lt;/TD&gt;&lt;TD&gt;140.191.188.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655118&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;140.191.188.57.50&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;57&lt;/TD&gt;&lt;TD&gt;140.188&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;655451&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;140.188.57&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;158&lt;/TD&gt;&lt;TD&gt;140&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2646990&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;188&lt;/TD&gt;&lt;TD&gt;140.158&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2813559&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2813559&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;49&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2976371&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;61&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Welcome suggestions!!&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Aug 2016 17:52:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292800#M270124</guid>
      <dc:creator>CP2</dc:creator>
      <dc:date>2016-08-19T17:52:59Z</dc:date>
    </item>
    <item>
      <title>Re: concatenating prior values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292810#M270125</link>
      <description>&lt;P&gt;Have&amp;nbsp; you thought about using lag(X) which just grabs the value from the previous row of the the variable x.&amp;nbsp; You have to think about how best to sort your data but if its sorted in the right order then you could do something like.&amp;nbsp; Note first.id is true at the first occurence of a unique id in a data set which is sorted by id.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;lagid=lag(id);&lt;/P&gt;&lt;P&gt;lagcode=lag(code);&lt;/P&gt;&lt;P&gt;lagcombined=lag(combined);&lt;/P&gt;&lt;P&gt;if first.id then&lt;/P&gt;&lt;P&gt;do;&lt;/P&gt;&lt;P&gt;&amp;nbsp;lagcombined="";&lt;/P&gt;&lt;P&gt;&amp;nbsp;lagcode="";&lt;/P&gt;&lt;P&gt;end;&lt;/P&gt;&lt;P&gt;if id=lagid then combined=lagcombined||lagcode;&lt;/P&gt;&lt;P&gt;&amp;nbsp; else combined="";&lt;/P&gt;</description>
      <pubDate>Fri, 19 Aug 2016 18:52:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292810#M270125</guid>
      <dc:creator>Avery</dc:creator>
      <dc:date>2016-08-19T18:52:25Z</dc:date>
    </item>
    <item>
      <title>Re: concatenating prior values</title>
      <link>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292814#M270126</link>
      <description>thanks. Your code helped me simplify my last line so it works! I did use the lag function for the priorcode but used retain for combination.&lt;BR /&gt;&lt;BR /&gt;This change worked:&lt;BR /&gt;&lt;BR /&gt;/*define combination*/&lt;BR /&gt;if include=1 then combination = catx(".", combination, codeprior) ;&lt;BR /&gt;</description>
      <pubDate>Fri, 19 Aug 2016 19:09:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/concatenating-prior-values/m-p/292814#M270126</guid>
      <dc:creator>CP2</dc:creator>
      <dc:date>2016-08-19T19:09:56Z</dc:date>
    </item>
  </channel>
</rss>

