<?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: calculating relative month in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372358#M89030</link>
    <description>&lt;P&gt;Look at the LAG function.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Sat, 01 Jul 2017 02:57:54 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-07-01T02:57:54Z</dc:date>
    <item>
      <title>calculating relative month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372354#M89029</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have an input data as follows.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Flag&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;3.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;4.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;5.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;6.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;7.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;8.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;9.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;10.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;3.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;4.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;5.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;6.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;7.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;8.2014&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;9.2014&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need output as follows.&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;Flag&lt;/TD&gt;&lt;TD&gt;date&lt;/TD&gt;&lt;TD&gt;relative_month1&lt;/TD&gt;&lt;TD&gt;relative_month2&lt;/TD&gt;&lt;TD&gt;relative_month3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1.2014&lt;/TD&gt;&lt;TD&gt;m1&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;0&lt;/TD&gt;&lt;TD&gt;2.2014&lt;/TD&gt;&lt;TD&gt;m2&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;0&lt;/TD&gt;&lt;TD&gt;3.2014&lt;/TD&gt;&lt;TD&gt;m3&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;1&lt;/TD&gt;&lt;TD&gt;4.2014&lt;/TD&gt;&lt;TD&gt;m4&lt;/TD&gt;&lt;TD&gt;m1&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;0&lt;/TD&gt;&lt;TD&gt;5.2014&lt;/TD&gt;&lt;TD&gt;m5&lt;/TD&gt;&lt;TD&gt;m2&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;0&lt;/TD&gt;&lt;TD&gt;6.2014&lt;/TD&gt;&lt;TD&gt;m6&lt;/TD&gt;&lt;TD&gt;m3&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;1&lt;/TD&gt;&lt;TD&gt;7.2014&lt;/TD&gt;&lt;TD&gt;m7&lt;/TD&gt;&lt;TD&gt;m4&lt;/TD&gt;&lt;TD&gt;m1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;8.2014&lt;/TD&gt;&lt;TD&gt;m8&lt;/TD&gt;&lt;TD&gt;m5&lt;/TD&gt;&lt;TD&gt;m2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;9.2014&lt;/TD&gt;&lt;TD&gt;m9&lt;/TD&gt;&lt;TD&gt;m6&lt;/TD&gt;&lt;TD&gt;m3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;10.2014&lt;/TD&gt;&lt;TD&gt;m10&lt;/TD&gt;&lt;TD&gt;m7&lt;/TD&gt;&lt;TD&gt;m4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2.2014&lt;/TD&gt;&lt;TD&gt;m1&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;0&lt;/TD&gt;&lt;TD&gt;3.2014&lt;/TD&gt;&lt;TD&gt;m2&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;0&lt;/TD&gt;&lt;TD&gt;4.2014&lt;/TD&gt;&lt;TD&gt;m3&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;1&lt;/TD&gt;&lt;TD&gt;5.2014&lt;/TD&gt;&lt;TD&gt;m4&lt;/TD&gt;&lt;TD&gt;m1&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;0&lt;/TD&gt;&lt;TD&gt;6.2014&lt;/TD&gt;&lt;TD&gt;m5&lt;/TD&gt;&lt;TD&gt;m2&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;0&lt;/TD&gt;&lt;TD&gt;7.2014&lt;/TD&gt;&lt;TD&gt;m6&lt;/TD&gt;&lt;TD&gt;m3&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;1&lt;/TD&gt;&lt;TD&gt;8.2014&lt;/TD&gt;&lt;TD&gt;m7&lt;/TD&gt;&lt;TD&gt;m4&lt;/TD&gt;&lt;TD&gt;m1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;9.2014&lt;/TD&gt;&lt;TD&gt;m8&lt;/TD&gt;&lt;TD&gt;m5&lt;/TD&gt;&lt;TD&gt;m2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;for each ID with change in flag number to 1, I want to create a new varibale (relative month variable) and assign it to m1 and the follow up period should increment by 1. Hope the question is clear.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is appreciated. Thanks alot in Advance.&lt;/P&gt;</description>
      <pubDate>Sat, 01 Jul 2017 01:50:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372354#M89029</guid>
      <dc:creator>Haritha1</dc:creator>
      <dc:date>2017-07-01T01:50:33Z</dc:date>
    </item>
    <item>
      <title>Re: calculating relative month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372358#M89030</link>
      <description>&lt;P&gt;Look at the LAG function.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 01 Jul 2017 02:57:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372358#M89030</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-07-01T02:57:54Z</dc:date>
    </item>
    <item>
      <title>Re: calculating relative month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372359#M89031</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/117121"&gt;@Haritha1&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;The following code works for your sample data.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have(drop=_:);
  infile datalines dlm=' ' truncover;
  input ID Flag:$1. _date_str:$7.;
  date=mdy(scan(_date_str,1),'01',scan(_date_str,2));
  format date yymm7.;
datalines;
1 1 1.2014
1 0 2.2014
1 0 3.2014
1 1 4.2014
1 0 5.2014
1 0 6.2014
1 1 7.2014
1 0 8.2014
1 0 9.2014
1 0 10.2014
2 1 2.2014
2 0 3.2014
2 0 4.2014
2 1 5.2014
2 0 6.2014
2 0 7.2014
2 1 8.2014
2 0 9.2014
;
run;

%let rel_mth_arr_size=3;
data want(drop=_:);
  set have;
  by id date;
  array rel_mth_ {&amp;amp;rel_mth_arr_size} 8.;
  if first.id then call missing(of rel_mth_(*));

  do _i=1 to dim(rel_mth_) while(not missing(rel_mth_(_i)));
    rel_mth_(_i)+1;
  end;

  if flag='1' then
    do _i=1 to dim(rel_mth_);
      if missing(rel_mth_(_i)) then 
        do;
          rel_mth_(_i)=1;
          leave;
        end;
    end;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 01 Jul 2017 03:06:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372359#M89031</guid>
      <dc:creator>Patrick</dc:creator>
      <dc:date>2017-07-01T03:06:57Z</dc:date>
    </item>
    <item>
      <title>Re: calculating relative month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372371#M89034</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
  infile datalines dlm=' ' truncover;
  input ID Flag  date : $20.;
datalines;
1 1 1.2014
1 0 2.2014
1 0 3.2014
1 1 4.2014
1 0 5.2014
1 0 6.2014
1 1 7.2014
1 0 8.2014
1 0 9.2014
1 0 10.2014
2 1 2.2014
2 0 3.2014
2 0 4.2014
2 1 5.2014
2 0 6.2014
2 0 7.2014
2 1 8.2014
2 0 9.2014
;
run;
data want;
 set have;
 by id;
 if first.id then do;n=0;x1=.;x2=.;x3=.;end;
 if flag=1 then n+1;
 if n ge 1 then do;x1+1;month1=cats('m',x1);end;
 if n ge 2 then do;x2+1;month2=cats('m',x2);end;
 if n ge 3 then do;x3+1;month3=cats('m',x3);end;
 drop n x1 x2 x3;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sat, 01 Jul 2017 05:38:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372371#M89034</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2017-07-01T05:38:23Z</dc:date>
    </item>
    <item>
      <title>Re: calculating relative month</title>
      <link>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372415#M89052</link>
      <description>&lt;P&gt;Thanks alot for your time. This is very helpful&lt;/P&gt;</description>
      <pubDate>Sat, 01 Jul 2017 13:59:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/calculating-relative-month/m-p/372415#M89052</guid>
      <dc:creator>Haritha1</dc:creator>
      <dc:date>2017-07-01T13:59:06Z</dc:date>
    </item>
  </channel>
</rss>

