<?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: Create variable that indicates if another variable changes value in SAS Data Management</title>
    <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559972#M17142</link>
    <description>&lt;P&gt;You can make it even shorter:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
	set have;
	indicator = (lag1(status) ^= status);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Sun, 19 May 2019 19:32:51 GMT</pubDate>
    <dc:creator>Kurt_Bremser</dc:creator>
    <dc:date>2019-05-19T19:32:51Z</dc:date>
    <item>
      <title>Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559965#M17139</link>
      <description>&lt;P&gt;Hello all,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I would like to create a binary indicator variable (0/1) that tells me when/if another variable 'status' changes from year to year within it's groupid. I've created an example below of what I'm thinking:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Year_GroupID&amp;nbsp; &amp;nbsp; Status&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; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Indicator&lt;/P&gt;&lt;P&gt;1997-01&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;1998-01&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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;gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0&lt;/P&gt;&lt;P&gt;1999-01&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2000-01&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;1996-02&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;1997-02&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;1998-02&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;1999-02&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2002-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2003-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2004-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2005-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2006-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;2007-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;1&lt;/P&gt;&lt;P&gt;2008-03&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;0&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; &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; &amp;nbsp;0&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ideally, I would like an indicator variable that tells me if the status column changed at all (i.e. 0 -&amp;gt; 1 or 1 -&amp;gt;0), but also it would be nice to have two other indicators: (1) one that just tells me if the status column changed (0-&amp;gt; 1), and (2) one that just tells me if the status column changed (1 -&amp;gt; 0).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I appreciate the community' help as always.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sun, 19 May 2019 18:33:07 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559965#M17139</guid>
      <dc:creator>r4321</dc:creator>
      <dc:date>2019-05-19T18:33:07Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559967#M17140</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Year_GroupID $ Status;
datalines;
1997-01 0
1998-01 0
1999-01 0
2000-01 0
1996-02 0
1997-02 0
1998-02 1
1999-02 1
2002-03 0
2003-03 1
2004-03 1
2005-03 1
2006-03 1
2007-03 0
2008-03 0
;

data want(drop=lagStatus);
   set have;
   lagStatus=lag1(Status);
   Indicator1=0;Indicator2=0;
   if lagStatus=1 &amp;amp; Status=0 then Indicator1=1;
   else if lagStatus=0 &amp;amp; Status=1 then Indicator2=1;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 19 May 2019 18:43:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559967#M17140</guid>
      <dc:creator>PeterClemmensen</dc:creator>
      <dc:date>2019-05-19T18:43:51Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559970#M17141</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Year_GroupID $ Status;
datalines;
1997-01 0
1998-01 0
1999-01 0
2000-01 0
1996-02 0
1997-02 0
1998-02 1
1999-02 1
2002-03 0
2003-03 1
2004-03 1
2005-03 1
2006-03 1
2007-03 0
2008-03 0
;


data want;
	set have;
	if lag1(status) ^= status then indicator=1;
	else indicator=0;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 19 May 2019 18:53:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559970#M17141</guid>
      <dc:creator>VDD</dc:creator>
      <dc:date>2019-05-19T18:53:26Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559972#M17142</link>
      <description>&lt;P&gt;You can make it even shorter:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
	set have;
	indicator = (lag1(status) ^= status);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Sun, 19 May 2019 19:32:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559972#M17142</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-05-19T19:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559974#M17143</link>
      <description>Thank you.&lt;BR /&gt;&lt;BR /&gt;But unfortunately... this code is not quite giving me what I want. It doesn't account for year_groupid and also It continues to give 1s for the duration of the switch. I only want the indicator to = 1 when the change happens.&lt;BR /&gt;</description>
      <pubDate>Sun, 19 May 2019 19:57:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559974#M17143</guid>
      <dc:creator>r4321</dc:creator>
      <dc:date>2019-05-19T19:57:41Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559975#M17144</link>
      <description>Thank you for your help -&lt;BR /&gt;&lt;BR /&gt;Hm... This doesnt seem to work unfortunately. Seems to arbitrarily put 1s and it also doesn't disregard missing data (e.g., status=.)&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 19 May 2019 19:58:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559975#M17144</guid>
      <dc:creator>r4321</dc:creator>
      <dc:date>2019-05-19T19:58:13Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559976#M17145</link>
      <description>Thank you for the response! This doesnt seem to work unfortunately. Seems to arbitrarily put 1s and it also doesn't disregard missing data (e.g., status=.)&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Sun, 19 May 2019 19:59:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559976#M17145</guid>
      <dc:creator>r4321</dc:creator>
      <dc:date>2019-05-19T19:59:04Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559986#M17146</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/83117"&gt;@r4321&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Try this:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Create test data */

data have(drop=i j k l);
length Year_GroupID $8;
do i=0 to 80;
  l=i;
  do j=0 to 3;
    Year_GroupID=cats(1997+j,'-',put(i,z2.));
    k=mod(l,3);
    Status=ifn(k=2,.,k);
    output;
    l=(l-k)/3;
  end;
end;
run;

/* Temporarily provide suitable BY variables */

data tmp / view=tmp;
set have;
length _groupID $8;
_year=input(scan(year_groupID,1,'-'),8.);
_groupID=scan(year_groupID,2,'-');
run;

/* Create indicators */

data want(drop=_:);
array c[9] $2 _temporary_ ('00','01','10','11','.0','.1','0.','1.','..');
array i_up[9] _temporary_ (  0 ,  1 ,  0 ,  0 ,  0 ,  . ,  . ,  0 ,  . );
array i_dn[9] _temporary_ (  0 ,  0 ,  1 ,  0 ,  . ,  0 ,  0 ,  . ,  . );
array i_ch[9] _temporary_ (  0 ,  1 ,  1 ,  0 ,  . ,  . ,  . ,  . ,  . );
set tmp;
by _groupID _year;
_ls=lag(status);
if first._groupID then do;
  ind_up=0;
  ind_dn=0;
  ind_ch=0;
end;
else do;
  _j=whichc(cats(_ls,status), of c[*]);
  ind_up=i_up[_j];
  ind_dn=i_dn[_j];
  ind_ch=i_ch[_j];
end;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The definitions of the three indicators (IND_UP for status increase, IND_DN for status decrease, IND_CH for status change) are provided as array elements (arrays I_UP, I_DN and I_CH, respectively) corresponding to the (presumably) 9 possible combinations of previous status and current status in array C.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Example: &lt;FONT face="courier new,courier"&gt;'.0'&lt;/FONT&gt; in array C means "previous status missing and current status 0." So, if the missing status is just unknown, the status &lt;EM&gt;might&lt;/EM&gt; have changed (from 1 to 0), but we don't know, hence IND_DN=IND_CH=., whereas IND_UP=0 is for sure.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;All three indicators are set to 0 for the first record of each GroupID.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please feel free to adapt the rules as needed.&lt;/P&gt;</description>
      <pubDate>Sun, 19 May 2019 23:16:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/559986#M17146</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2019-05-19T23:16:41Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560169#M17148</link>
      <description>This works great! Thank you for the code and explanation.</description>
      <pubDate>Mon, 20 May 2019 14:58:28 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560169#M17148</guid>
      <dc:creator>r4321</dc:creator>
      <dc:date>2019-05-20T14:58:28Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560224#M17150</link>
      <description>&lt;P&gt;If the status only takes values of 1 and 0 as shown perhaps this is sufficient:&lt;/P&gt;
&lt;PRE&gt;data have;
input Year_GroupID $ Status;
datalines;
1997-01 0
1998-01 0
1999-01 0
2000-01 0
1996-02 0
1997-02 0
1998-02 1
1999-02 1
2002-03 0
2003-03 1
2004-03 1
2005-03 1
2006-03 1
2007-03 0
2008-03 0
;

data want;
   set have;
   d = (dif(status) ne 0);
   d1 = (dif(status) = 1);
   d2 = (dif(status) = -1);
   if _n_=1 then d=0;
   label
      d  = 'Any change'
      d1 = 'Change 0 to 1'
      d2 = 'Change 1 to 0'
   ;
run;

&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 May 2019 17:04:14 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560224#M17150</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2019-05-20T17:04:14Z</dc:date>
    </item>
    <item>
      <title>Re: Create variable that indicates if another variable changes value</title>
      <link>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560389#M17156</link>
      <description>&lt;P&gt;Let's dissect the year_groupid into its relevant parts, so we can use by-processing to simplify things:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input Year_GroupID $ Status;
length
  group $2
  year 4
;
group = scan(Year_GroupID,2,'-');
year = input(scan(Year_GroupID,1,'-'),4.);
datalines;
1997-01 0
1998-01 0
1999-01 0
2000-01 0
1996-02 0
1997-02 0
1998-02 1
1999-02 1
2002-03 0
2003-03 1
2004-03 1
2005-03 1
2006-03 1
2007-03 0
2008-03 0
;

data want;
set have;
by group;
indicator = (not first.group and lag1(status) ^= status);
run;

proc print data=want noobs;
var year_groupid status indicator;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;The result matches your expected result exactly:&lt;/P&gt;
&lt;PRE&gt; Year_
GroupID    Status    indicator

1997-01       0          0    
1998-01       0          0    
1999-01       0          0    
2000-01       0          0    
1996-02       0          0    
1997-02       0          0    
1998-02       1          1    
1999-02       1          0    
2002-03       0          0    
2003-03       1          1    
2004-03       1          0    
2005-03       1          0    
2006-03       1          0    
2007-03       0          1    
2008-03       0          0    
&lt;/PRE&gt;
&lt;P&gt;The additional indicators can be derived with two additional statements:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data want;
set have;
by group;
indicator = (not first.group and lag1(status) ^= status);
ind_up = (indicator and status);
ind_down = (indicator and not status);
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 21 May 2019 08:08:03 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Data-Management/Create-variable-that-indicates-if-another-variable-changes-value/m-p/560389#M17156</guid>
      <dc:creator>Kurt_Bremser</dc:creator>
      <dc:date>2019-05-21T08:08:03Z</dc:date>
    </item>
  </channel>
</rss>

