<?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: tracking years across two columns by id in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324652#M72086</link>
    <description>&lt;P&gt;Hi.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming data is previously ordered by id and start_year and there are no overlaping periods, here's another way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want;&lt;BR /&gt;     set have;&lt;BR /&gt;     drop _:;&lt;BR /&gt;&lt;BR /&gt;     * auxiliary vars;&lt;BR /&gt;     _end_year=lag1(end_year);&lt;BR /&gt;     _id=lag1(id);&lt;BR /&gt;     output; * output row;&lt;BR /&gt;&lt;BR /&gt;     * cycle and fill the gap, if needed;&lt;BR /&gt;     if _id eq id and start_year-1 ne _end_year then&lt;BR /&gt;     do end_year=_end_year+1 to start_year-1;&lt;BR /&gt;        start_year=end_year;&lt;BR /&gt;        output;&lt;BR /&gt;        put 'created row ' id= start_year= end_year=;&lt;BR /&gt;     end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;* order back data;&lt;BR /&gt;proc sort;&lt;BR /&gt;     by id start_year;&lt;BR /&gt;run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The lag function will get you the previous value, which is what you need to work the gaps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;More on the lag function here:&amp;nbsp;&lt;A href="https://support.sas.com/documentation/cdl/en/lefunctionsref/69762/HTML/default/viewer.htm#n0l66p5oqex1f2n1quuopdvtcjqb.htm" target="_blank"&gt;https://support.sas.com/documentation/cdl/en/lefunctionsref/69762/HTML/default/viewer.htm#n0l66p5oqex1f2n1quuopdvtcjqb.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope it helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Daniel Santos&amp;nbsp;@ &lt;A href="http://www.cgd.pt" target="_blank"&gt;www.cgd.pt&lt;/A&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 13 Jan 2017 17:59:18 GMT</pubDate>
    <dc:creator>DanielSantos</dc:creator>
    <dc:date>2017-01-13T17:59:18Z</dc:date>
    <item>
      <title>tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324583#M72074</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hi Everyone,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As illustration purposes I have a dataset with the following two SAS year variables:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start_year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_year&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;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1 &amp;nbsp; &amp;nbsp;&amp;nbsp; 1991 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1998&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1998&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2015&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1985 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1986 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;id=1 starts in 1991 and ends in 2015 with no gaps; same for id=2. But id=3 has a gap in 1987, 1988, and 1989&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;First, how can I track and know if there is a gap or no by id?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Second, how can I add the years gap by id to my data? For example, &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; start_year&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; end_year&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;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1 &amp;nbsp; &amp;nbsp;&amp;nbsp; 1991 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1998&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1998&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2015&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1985 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1986&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT color="#FF0000"&gt;3 &amp;nbsp; &amp;nbsp;&amp;nbsp; 1987 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1987&lt;/FONT&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT color="#FF0000"&gt;3 &amp;nbsp; &amp;nbsp;&amp;nbsp; 1988 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1988&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;&lt;FONT color="#FF0000"&gt;3 &amp;nbsp; &amp;nbsp;&amp;nbsp; 1989 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; 1989&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2000&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#000000"&gt;Thank you very much&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jan 2017 15:02:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324583#M72074</guid>
      <dc:creator>miguelito</dc:creator>
      <dc:date>2017-01-13T15:02:50Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324592#M72075</link>
      <description>&lt;P&gt;Messy, but just leaving so no time:&lt;/P&gt;
&lt;PRE&gt;data have;
  input id     start_year     end_year;
datalines; 
1      1991            1992          
1      1992            1993          
1      1993            1993     
1      1993            1993
1      1993            1993     
1      1994            1998
1      1998            2015
2      1993            1994     
3      1985            1986      
3      1990            1991
3      1992            2000
;
run;

data want;
  set have;
  by id;
  retain lst_year;
  if first.id then do;
    syear=start_year;
    eyear=end_year;
    lst_year=end_year;
    output;
  end;
  else do;
    if start_year ne lst_year and start_year-1 ne lst_year then do;
      do i=lst_year to start_year;
        syear=i;
        eyear=i;
        output;
      end;
    end;
    else do;
      syear=start_year;
      eyear=end_year;
      output;
    end;
  end;
  lst_year=end_year;
run;&lt;/PRE&gt;</description>
      <pubDate>Fri, 13 Jan 2017 15:16:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324592#M72075</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-01-13T15:16:23Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324593#M72076</link>
      <description>&lt;P&gt;Techniques in this paper may help you getting your desired outcome&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.sas.com/resources/papers/proceedings10/103-2010.pdf" target="_self"&gt;http://support.sas.com/resources/papers/proceedings10/103-2010.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ahmed&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jan 2017 15:20:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324593#M72076</guid>
      <dc:creator>AhmedAl_Attar</dc:creator>
      <dc:date>2017-01-13T15:20:45Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324610#M72077</link>
      <description>Hi RW9,&lt;BR /&gt;&lt;BR /&gt;Thank you for your help!&lt;BR /&gt;&lt;BR /&gt;Your code kind of works but not precisely.&lt;BR /&gt;&lt;BR /&gt;If you see your want table your code assigns a value of 1990 to obs. 14 for id = 3 when actually there is no a gap issue for that row. So, it should be a period value.&lt;BR /&gt;&lt;BR /&gt;On the other hand, the original data for id=3 has a gap for years 1987,1988 and 1989. Hence, your code should add three new rows for these three years. However, it adds five rows. In fact, what I would expect based on my question below is that row 10 is 1987, row 11 is 1988, and row 12 is 1989, with the remaining two rows for what it was.&lt;BR /&gt;&lt;BR /&gt;Do you any any solutions for these two problems? Thank you&lt;BR /&gt;</description>
      <pubDate>Fri, 13 Jan 2017 16:01:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324610#M72077</guid>
      <dc:creator>miguelito</dc:creator>
      <dc:date>2017-01-13T16:01:11Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324636#M72083</link>
      <description>&lt;P&gt;As noted, I have left for the day now.&amp;nbsp; Try:&lt;/P&gt;
&lt;PRE&gt;      do i=lst_year to start_year;
&lt;/PRE&gt;
&lt;P&gt;Replace that with:&lt;/P&gt;
&lt;PRE&gt;      do i=(lst_year+1) to (start_year-1);
&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jan 2017 17:08:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324636#M72083</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-01-13T17:08:55Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324642#M72084</link>
      <description>&lt;P&gt;This solution nicely identifies under column i the year(s) in which there is a gap, but it does not add the row in the data for the gap as I indicated in red color in my original rpost.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot! What I can do to add it the row(s) attached to the year gap(s)? Thanks again&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jan 2017 17:35:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324642#M72084</guid>
      <dc:creator>miguelito</dc:creator>
      <dc:date>2017-01-13T17:35:28Z</dc:date>
    </item>
    <item>
      <title>Re: tracking years across two columns by id</title>
      <link>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324652#M72086</link>
      <description>&lt;P&gt;Hi.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Assuming data is previously ordered by id and start_year and there are no overlaping periods, here's another way:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data want;&lt;BR /&gt;     set have;&lt;BR /&gt;     drop _:;&lt;BR /&gt;&lt;BR /&gt;     * auxiliary vars;&lt;BR /&gt;     _end_year=lag1(end_year);&lt;BR /&gt;     _id=lag1(id);&lt;BR /&gt;     output; * output row;&lt;BR /&gt;&lt;BR /&gt;     * cycle and fill the gap, if needed;&lt;BR /&gt;     if _id eq id and start_year-1 ne _end_year then&lt;BR /&gt;     do end_year=_end_year+1 to start_year-1;&lt;BR /&gt;        start_year=end_year;&lt;BR /&gt;        output;&lt;BR /&gt;        put 'created row ' id= start_year= end_year=;&lt;BR /&gt;     end;&lt;BR /&gt;run;&lt;BR /&gt;&lt;BR /&gt;* order back data;&lt;BR /&gt;proc sort;&lt;BR /&gt;     by id start_year;&lt;BR /&gt;run;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The lag function will get you the previous value, which is what you need to work the gaps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;More on the lag function here:&amp;nbsp;&lt;A href="https://support.sas.com/documentation/cdl/en/lefunctionsref/69762/HTML/default/viewer.htm#n0l66p5oqex1f2n1quuopdvtcjqb.htm" target="_blank"&gt;https://support.sas.com/documentation/cdl/en/lefunctionsref/69762/HTML/default/viewer.htm#n0l66p5oqex1f2n1quuopdvtcjqb.htm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope it helps.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Daniel Santos&amp;nbsp;@ &lt;A href="http://www.cgd.pt" target="_blank"&gt;www.cgd.pt&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 Jan 2017 17:59:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/tracking-years-across-two-columns-by-id/m-p/324652#M72086</guid>
      <dc:creator>DanielSantos</dc:creator>
      <dc:date>2017-01-13T17:59:18Z</dc:date>
    </item>
  </channel>
</rss>

