<?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: Count number of downgrades in rating changes in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125444#M25613</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks so much !!! Your help is much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 04 Mar 2013 03:08:49 GMT</pubDate>
    <dc:creator>LanMin</dc:creator>
    <dc:date>2013-03-04T03:08:49Z</dc:date>
    <item>
      <title>Count number of downgrades in rating changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125440#M25609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, experienced SAS users&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below is a sample of a large dataset that contains firm id,&lt;BR /&gt;year, and its debt ratings. Here is what I like to accomplish:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;count instances that rating change by just one&lt;BR /&gt;level (e.g. A+ to A, B+ to B), and output it to a separate data set. &lt;/LI&gt;&lt;LI&gt;After 1 is done, is it possible to modify the&lt;BR /&gt;code to instances that rating change by more than one level (e.g. A+ to AA-), and&lt;BR /&gt;output it to a separate data set. &lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lan&lt;/P&gt;&lt;P&gt; +++++++++++++++++++++++++&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data sample;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;input ID year rating$;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A+&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B+&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; +++++++++++++++++++++++++&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Mar 2013 22:24:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125440#M25609</guid>
      <dc:creator>LanMin</dc:creator>
      <dc:date>2013-03-01T22:24:58Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of downgrades in rating changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125441#M25610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since your question is lacking details (for example, your output sample data is desired here), I am not sure I have completely understand it, so my approach is at the risk of either being off or being preliminary. &lt;/P&gt;&lt;P&gt;SAS needs to know your "level ranking system", you could use many methods to achieve that, it is basically called "look up" technique. The following code adopts "format" approach. You didn't say when your condition is met, which record to output, the current one or the pair, I choose to output them both, even though as you can see in the results, certain obs are possible to output into two different tables at the same time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt; invalue rating&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B-'=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B'=2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B+'=3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB-'=4&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB'=5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB+'=6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A-'=7&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A'=8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A+'=9&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA-'=10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA'=11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA+'=12&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data sample;&lt;/P&gt;&lt;P&gt; input ID year rating$;&lt;/P&gt;&lt;P&gt; _rating=input(rating,rating.);&lt;/P&gt;&lt;P&gt; datalines;&lt;/P&gt;&lt;P&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A+&lt;/P&gt;&lt;P&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B+&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B-&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one two_up;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sample;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by id notsorted;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set sample (firstobs=2&amp;nbsp; keep=_rating rename=_rating=_lead) sample (obs=1 drop=_all_);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lag=ifn(first.id,.,lag(_rating));&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lead=ifn(last.id,.,_lead);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if abs(_lag-_rating)=1 or abs(_lead-_rating)=1 then output one;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if abs(_lag-_rating)&amp;gt;1 or abs(_lead-_rating)&amp;gt;1 then output two_up;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop _lead _lag;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 02 Mar 2013 05:39:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125441#M25610</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-03-02T05:39:36Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of downgrades in rating changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125442#M25611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt; Hai.Kuo, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the help !&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; You are right, I should be more clear about expected output.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Using data below&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: navy; font-size: 10pt; background: white; font-family: 'Courier New';"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;&lt;BR /&gt;sample;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN style="background: white; color: blue; font-family: 'Courier New'; font-size: 10pt;"&gt;input &lt;/SPAN&gt;&lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;ID year rating$;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; _rating=input(rating,&lt;/SPAN&gt;&lt;SPAN style="background: white; color: teal; font-family: 'Courier New'; font-size: 10pt;"&gt;rating.&lt;/SPAN&gt;&lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;);&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: white; color: blue; font-family: 'Courier New'; font-size: 10pt;"&gt;datalines&lt;/SPAN&gt;&lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A+&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA+&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA&lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B+&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B-&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: white; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; How to change your code to output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;Rating change by one notch for the &lt;SPAN style="text-decoration: underline;"&gt;adjacent&lt;/SPAN&gt;&lt;BR /&gt;two years: i.e. expected output dataset should look like this:&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; line-height: 115%; font-family: 'Courier New'; font-size: 10pt;"&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt; &lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B-&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; These three records corresponds to years that rating value decreased by 1 from prior year.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&amp;nbsp;&amp;nbsp; Rating change by two notches for the adjacent two years: i.e. expected output dataset should look like this:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN style="background: #ffffc0; color: black; font-family: 'Courier New'; font-size: 10pt;"&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/SPAN&gt;&lt;SPAN style="background: #ffffc0; color: black; line-height: 115%; font-family: 'Courier New'; font-size: 10pt;"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;This is the year rating dropped from 1992 AA+ by 2 notches to AA-.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;I know your code works, but could you add some&lt;BR /&gt;comments to explain it. I am still new to sas coding. If you have some&lt;BR /&gt;reference for look up technique, please also share.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Mar 2013 02:14:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125442#M25611</guid>
      <dc:creator>LanMin</dc:creator>
      <dc:date>2013-03-03T02:14:37Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of downgrades in rating changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125443#M25612</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That would make the problem a LOT simpler. Please see below simplified code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc format;&lt;/P&gt;&lt;P&gt;invalue rating&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B-'=1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B'=2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'B+'=3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB-'=4&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB'=5&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'BB+'=6&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A-'=7&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A'=8&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'A+'=9&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA-'=10&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA'=11&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'AA+'=12&lt;/P&gt;&lt;P&gt;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;&amp;nbsp; RUN;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data&lt;/P&gt;&lt;P&gt;sample;&lt;/P&gt;&lt;P&gt;input ID year rating$;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; _rating=input(rating,rating.);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; datalines;&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1990&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A+&lt;/P&gt;&lt;P&gt;&amp;nbsp; 1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA+&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AA&lt;/P&gt;&lt;P&gt;1004&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp; AA-&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1991&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1992&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B+&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1993&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1994&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B&lt;/P&gt;&lt;P&gt;1006&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1995&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B-&lt;/P&gt;&lt;P&gt;;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data one two_up;&lt;/P&gt;&lt;P&gt;&amp;nbsp; set sample;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; by id year;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _lag=ifn(first.id,.,lag(_rating));/this is to create a variable that has the _rating value of previous obs*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if _lag-_rating=1 then output one; /*if down one notch, then output to 'one' */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else if _lag-_rating&amp;gt;1 then output two_up; /*if down two or more notch, then output to 'two'*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; drop _:;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Haikuo&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Update with comments and some links related to SAS 'look up';&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www2.sas.com/proceedings/sugi27/p011-27.pdf" title="http://www2.sas.com/proceedings/sugi27/p011-27.pdf"&gt;http://www2.sas.com/proceedings/sugi27/p011-27.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="active_link" href="http://www.ssc.wisc.edu/sscc/pubs/4-1.pdf" title="http://www.ssc.wisc.edu/sscc/pubs/4-1.pdf"&gt;http://www.ssc.wisc.edu/sscc/pubs/4-1.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.nesug.org/Proceedings/nesug10/cc/cc37.pdf" title="http://www.nesug.org/Proceedings/nesug10/cc/cc37.pdf"&gt;http://www.nesug.org/Proceedings/nesug10/cc/cc37.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;pretty much everything in term of 'look up' technique.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Mar 2013 02:27:38 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125443#M25612</guid>
      <dc:creator>Haikuo</dc:creator>
      <dc:date>2013-03-03T02:27:38Z</dc:date>
    </item>
    <item>
      <title>Re: Count number of downgrades in rating changes</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125444#M25613</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks so much !!! Your help is much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Lan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 04 Mar 2013 03:08:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Count-number-of-downgrades-in-rating-changes/m-p/125444#M25613</guid>
      <dc:creator>LanMin</dc:creator>
      <dc:date>2013-03-04T03:08:49Z</dc:date>
    </item>
  </channel>
</rss>

