<?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: Selecting a group of rows based on a weird term and ID in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519712#M3852</link>
    <description>&lt;P&gt;I don't think this answers your question, but may help you get closer.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The counter tells you the consecutive terms. I assumed that I was correct in assigning 20 to spring, 30 to summer and 10 to fall.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
informat term_desc $20.;
input ID  TERM_Code   Term_Desc  $;
cards;
1,   201520,  Spring 2015  
1,   201530,  Summer 2015  
1,   201610,  Fall 2015    
1,   201620,  Spring 2016  
1,   201630,  Summer 2016  
1,   201710,  Fall 2016    
1,   201720,  Spring 2017
1,   201730,  Summer 2017
1,   201810,  Fall 2019    
2,   201710,  Fall 2016    
2,   201720,  Spring 2016
2,   201810,  Fall 2017    
2,   201820,  Spring 2018  
2,   201830,  Summer 2018  
3,   201510,  Fall 2014    
3,   201520,  Spring 2015
;;;;
run;

proc format;
value semester 
10 = 'Fall'
20 = 'Spring'
30 = 'Summer';
run;


data long;
set have;
Year = input(substrn(term_code, 1, 4), 8.);
Term = input(substrn(term_code, 5, 2), 8.);

*if term=10 then term=40;*recode to sort correctly;
run;

proc sort data=long;
by ID Year Term;
run;

data want;
set long;
by ID year term;


lag_term = lag(term);

if first.id then do;
    counter=1;
    lag_term = .;
end;
else counter+1;

*check previous terms for consecutive;
if (term=20 and lag_term ne 10) or 
     (term=30 and lag_term ne 20) or
     (term=10 and lag_term ne 30) 
then counter = 1;


run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 09 Dec 2018 00:19:30 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2018-12-09T00:19:30Z</dc:date>
    <item>
      <title>Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519704#M3847</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have the following table of two columns. The third column is a description of the term. The term code is defined in a way that I cannot wrap my head around it how to select the time of a period that subjects (IDs) were registered as clients. A Year is separated in three terms: Fall, Spring and Summer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My&amp;nbsp;objective was to select all the rows &lt;U&gt;up&lt;/U&gt; to a two year period and then have two indicator columns to show that those subjects were registered for one year or for two years.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="472"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="203"&gt;&amp;nbsp;Comments&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2017&lt;/TD&gt;
&lt;TD&gt;More than two years&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201730&lt;/TD&gt;
&lt;TD&gt;Summer 2017&lt;/TD&gt;
&lt;TD&gt;More than two years&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;*Skipped 201730, Summer 2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&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;I am looking to end up in table like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="388"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="55"&gt;Yr1&lt;/TD&gt;
&lt;TD width="64"&gt;Yr2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not sure how to maniputale "have" table to get to "want" tabel with this weird term for semesters&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Might you have any ideas on how to go on this?&lt;/P&gt;</description>
      <pubDate>Sat, 08 Dec 2018 23:12:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519704#M3847</guid>
      <dc:creator>triunk</dc:creator>
      <dc:date>2018-12-08T23:12:26Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519707#M3849</link>
      <description>&lt;P&gt;What happened to the 2017 records? Why did you drop some of the ID 1 observations? Also, what are you planning to do next. I cannot see how this format could be useful, in this case I could see a wide format being useful, but having a hard time seeing how this format could be useful.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/36222"&gt;@triunk&lt;/a&gt;&amp;nbsp;wrote:&lt;BR /&gt;
&lt;P&gt;Hello&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have the following table of two columns. The third column is a description of the term. The term code is defined in a way that I cannot wrap my head around it how to select the time of a period that subjects (IDs) were registered as clients. A Year is separated in three terms: Fall, Spring and Summer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My&amp;nbsp;objective was to select all the rows &lt;U&gt;up&lt;/U&gt; to a two year period and then have two indicator columns to show that those subjects were registered for one year or for two years.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Have table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="472"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="203"&gt;&amp;nbsp;Comments&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2017&lt;/TD&gt;
&lt;TD&gt;More than two years&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201730&lt;/TD&gt;
&lt;TD&gt;Summer 2017&lt;/TD&gt;
&lt;TD&gt;More than two years&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;*Skipped 201730, Summer 2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&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;I am looking to end up in table like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="388"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="55"&gt;Yr1&lt;/TD&gt;
&lt;TD width="64"&gt;Yr2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am not sure how to maniputale "have" table to get to "want" tabel with this weird term for semesters&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Might you have any ideas on how to go on this?&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 08 Dec 2018 23:21:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519707#M3849</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-12-08T23:21:49Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519710#M3850</link>
      <description>&lt;P&gt;Hi Reeza&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you for your questions&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am trying to select subjects for a period of two years which is 6 terms&lt;/P&gt;
&lt;P&gt;For instance for subject one, those terms are&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE width="472"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="203"&gt;Consecutive Terms&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other two twrms 201720, Spring 2017 and TErm 201730, Summer 2017 are not included because there are&lt;/P&gt;
&lt;P&gt;not included in those criteria&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The other two subjects ID=2 and ID=3 have not completed the cycle of their two years.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The updated HAVE table is here:&lt;/P&gt;
&lt;TABLE width="516"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="55"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD width="64"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201730&lt;/TD&gt;
&lt;TD&gt;Summer 2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;1&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2019&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2017&lt;/TD&gt;
&lt;TD colspan="4"&gt;*Skipped 201730, Summer 2017&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD&gt;&amp;nbsp;&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;The WANT table is here&lt;/P&gt;
&lt;TABLE width="388"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="64"&gt;ID&lt;/TD&gt;
&lt;TD width="80"&gt;TERM_Code&lt;/TD&gt;
&lt;TD width="125"&gt;Term_Desc&lt;/TD&gt;
&lt;TD width="55"&gt;Yr1&lt;/TD&gt;
&lt;TD width="64"&gt;Yr2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201530&lt;/TD&gt;
&lt;TD&gt;Summer 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201610&lt;/TD&gt;
&lt;TD&gt;Fall 2015&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201620&lt;/TD&gt;
&lt;TD&gt;Spring 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201630&lt;/TD&gt;
&lt;TD&gt;Summer 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;1&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201710&lt;/TD&gt;
&lt;TD&gt;Fall 2016&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201720&lt;/TD&gt;
&lt;TD&gt;Spring 2017&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201810&lt;/TD&gt;
&lt;TD&gt;Fall 2017&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201820&lt;/TD&gt;
&lt;TD&gt;Spring 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;2&lt;/TD&gt;
&lt;TD&gt;201830&lt;/TD&gt;
&lt;TD&gt;Summer 2018&lt;/TD&gt;
&lt;TD&gt;Yes&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201510&lt;/TD&gt;
&lt;TD&gt;Fall 2014&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;3&lt;/TD&gt;
&lt;TD&gt;201520&lt;/TD&gt;
&lt;TD&gt;Spring 2015&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;TD&gt;No&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Might this makes a little bit more sense?&lt;/P&gt;</description>
      <pubDate>Sat, 08 Dec 2018 23:43:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519710#M3850</guid>
      <dc:creator>triunk</dc:creator>
      <dc:date>2018-12-08T23:43:54Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519711#M3851</link>
      <description>Where did the consecutive part come into play?  As long as it's how many terms consecutively? ID2 only has 5 which is not two full years either, it should 6 shouldn't it?</description>
      <pubDate>Sat, 08 Dec 2018 23:56:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519711#M3851</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-12-08T23:56:05Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519712#M3852</link>
      <description>&lt;P&gt;I don't think this answers your question, but may help you get closer.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The counter tells you the consecutive terms. I assumed that I was correct in assigning 20 to spring, 30 to summer and 10 to fall.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
informat term_desc $20.;
input ID  TERM_Code   Term_Desc  $;
cards;
1,   201520,  Spring 2015  
1,   201530,  Summer 2015  
1,   201610,  Fall 2015    
1,   201620,  Spring 2016  
1,   201630,  Summer 2016  
1,   201710,  Fall 2016    
1,   201720,  Spring 2017
1,   201730,  Summer 2017
1,   201810,  Fall 2019    
2,   201710,  Fall 2016    
2,   201720,  Spring 2016
2,   201810,  Fall 2017    
2,   201820,  Spring 2018  
2,   201830,  Summer 2018  
3,   201510,  Fall 2014    
3,   201520,  Spring 2015
;;;;
run;

proc format;
value semester 
10 = 'Fall'
20 = 'Spring'
30 = 'Summer';
run;


data long;
set have;
Year = input(substrn(term_code, 1, 4), 8.);
Term = input(substrn(term_code, 5, 2), 8.);

*if term=10 then term=40;*recode to sort correctly;
run;

proc sort data=long;
by ID Year Term;
run;

data want;
set long;
by ID year term;


lag_term = lag(term);

if first.id then do;
    counter=1;
    lag_term = .;
end;
else counter+1;

*check previous terms for consecutive;
if (term=20 and lag_term ne 10) or 
     (term=30 and lag_term ne 20) or
     (term=10 and lag_term ne 30) 
then counter = 1;


run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 09 Dec 2018 00:19:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519712#M3852</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-12-09T00:19:30Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519715#M3853</link>
      <description>&lt;P&gt;Yes that is a good starting point Reeza thank you!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My struggle was really the selction part not so much the transformation but this defintely goes to the right direction&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I really appreciate your prompt reply on this you are A SUPER SAS person indeed&lt;/P&gt;</description>
      <pubDate>Sun, 09 Dec 2018 01:23:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519715#M3853</guid>
      <dc:creator>triunk</dc:creator>
      <dc:date>2018-12-09T01:23:52Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519746#M3867</link>
      <description>&lt;P&gt;It is really uneasy. Hope the following code could get you right answer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
input ID  TERM_Code   Term_Desc  $;
year=int(TERM_Code/100);
cards;
1,   201520,  Spring 2015  
1,   201530,  Summer 2015  
1,   201610,  Fall 2015    
1,   201620,  Spring 2016  
1,   201630,  Summer 2016  
1,   201710,  Fall 2016    
1,   201720,  Spring 2017
1,   201730,  Summer 2017
1,   201810,  Fall 2019    
2,   201710,  Fall 2016    
2,   201720,  Spring 2016
2,   201810,  Fall 2017    
2,   201820,  Spring 2018  
2,   201830,  Summer 2018  
3,   201510,  Fall 2014    
3,   201520,  Spring 2015
;;;;
run;
proc summary data=have;
by id;
var year;
output out=year(drop=_:) min=min max=max;
run;
data key;
set year;
 do year=min to max;
    TERM_Code=100*year+10;output;
    TERM_Code=100*year+20;output;
    TERM_Code=100*year+30;output;
 end;
drop min max year;
run;
data temp;
 merge key have(drop=year);
 by id TERM_Code;
run;
data temp1;
 set temp;
 by id;
 if first.id then group=0;
 if not missing(Term_Desc) then group+1;
  else group=0;
run;
proc sql;
create table want as
 select *,
  case when(max(group)&amp;gt;2) then 'Yes' else 'No ' end as Yr1,
  case when(max(group)&amp;gt;5) then 'Yes' else 'No ' end as Yr2
  from temp1
   group by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 09 Dec 2018 11:39:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519746#M3867</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-12-09T11:39:17Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519747#M3868</link>
      <description>&lt;P&gt;It is really uneasy. Hope the following code could get you right answer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
input ID  TERM_Code   Term_Desc  $;
year=int(TERM_Code/100);
cards;
1,   201520,  Spring 2015  
1,   201530,  Summer 2015  
1,   201610,  Fall 2015    
1,   201620,  Spring 2016  
1,   201630,  Summer 2016  
1,   201710,  Fall 2016    
1,   201720,  Spring 2017
1,   201730,  Summer 2017
1,   201810,  Fall 2019    
2,   201710,  Fall 2016    
2,   201720,  Spring 2016
2,   201810,  Fall 2017    
2,   201820,  Spring 2018  
2,   201830,  Summer 2018  
3,   201510,  Fall 2014    
3,   201520,  Spring 2015
;;;;
run;
proc summary data=have;
by id;
var year;
output out=year(drop=_:) min=min max=max;
run;
data key;
set year;
 do year=min to max;
    TERM_Code=100*year+10;output;
    TERM_Code=100*year+20;output;
    TERM_Code=100*year+30;output;
 end;
drop min max year;
run;
data temp;
 merge key have(drop=year);
 by id TERM_Code;
run;
data temp1;
 set temp;
 by id;
 if first.id then group=0;
 if not missing(Term_Desc) then group+1;
  else group=0;
run;
proc sql;
create table want as
 select *,
  case when(max(group)&amp;gt;2) then 'Yes' else 'No ' end as Yr1,
  case when(max(group)&amp;gt;5) then 'Yes' else 'No ' end as Yr2
  from temp1
   group by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 09 Dec 2018 11:40:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519747#M3868</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-12-09T11:40:27Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519748#M3869</link>
      <description>&lt;P&gt;It is really uneasy. Hope the following code could get you right answer.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile cards dlm=',';
input ID  TERM_Code   Term_Desc  $;
year=int(TERM_Code/100);
cards;
1,   201520,  Spring 2015  
1,   201530,  Summer 2015  
1,   201610,  Fall 2015    
1,   201620,  Spring 2016  
1,   201630,  Summer 2016  
1,   201710,  Fall 2016    
1,   201720,  Spring 2017
1,   201730,  Summer 2017
1,   201810,  Fall 2019    
2,   201710,  Fall 2016    
2,   201720,  Spring 2016
2,   201810,  Fall 2017    
2,   201820,  Spring 2018  
2,   201830,  Summer 2018  
3,   201510,  Fall 2014    
3,   201520,  Spring 2015
;;;;
run;
proc summary data=have;
by id;
var year;
output out=year(drop=_:) min=min max=max;
run;
data key;
set year;
 do year=min to max;
    TERM_Code=100*year+10;output;
    TERM_Code=100*year+20;output;
    TERM_Code=100*year+30;output;
 end;
drop min max year;
run;
data temp;
 merge key have(drop=year);
 by id TERM_Code;
run;
data temp1;
 set temp;
 by id;
 if first.id then group=0;
 if not missing(Term_Desc) then group+1;
  else group=0;
run;
proc sql;
create table want as
 select *,
  case when(max(group)&amp;gt;2) then 'Yes' else 'No ' end as Yr1,
  case when(max(group)&amp;gt;5) then 'Yes' else 'No ' end as Yr2
  from temp1
   group by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 09 Dec 2018 11:40:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519748#M3869</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-12-09T11:40:29Z</dc:date>
    </item>
    <item>
      <title>Re: Selecting a group of rows based on a weird term and ID</title>
      <link>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519751#M3870</link>
      <description>&lt;P&gt;Wow indeed but this is brilliant!&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Sun, 09 Dec 2018 12:56:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/Selecting-a-group-of-rows-based-on-a-weird-term-and-ID/m-p/519751#M3870</guid>
      <dc:creator>triunk</dc:creator>
      <dc:date>2018-12-09T12:56:34Z</dc:date>
    </item>
  </channel>
</rss>

