<?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: Creating an indicator variable for a group based on a particular value of a variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449297#M283565</link>
    <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have (drop=indicator);
  input ID $  Year   Var1  Indicator;
  cards;
A    1990      .           1
A    1991      1          1
A    1992      2          1
B    1990      .           0
B    1991      0          0
B    1992      1          0
;

data want;
 merge have have(keep=id var1 rename=(var1=_var1) where=(_var1=2) in=inb);
 by id;
 flag=inb;
 drop _var1;
run;
proc print noobs;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Wed, 28 Mar 2018 12:34:57 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2018-03-28T12:34:57Z</dc:date>
    <item>
      <title>Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449157#M283556</link>
      <description>&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'd like to create a indicator variable for the following data set:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp;Year&amp;nbsp; &amp;nbsp;Var1&amp;nbsp; Indicator&lt;/P&gt;&lt;P&gt;A&amp;nbsp; &amp;nbsp; 1990&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;&lt;SPAN&gt;A&amp;nbsp; &amp;nbsp; 1991&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;A&amp;nbsp; &amp;nbsp; 1992&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;B&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;0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;B&amp;nbsp; &amp;nbsp; 1991&amp;nbsp; &amp;nbsp; &amp;nbsp; 0&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;B&amp;nbsp; &amp;nbsp; 1992&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 0&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I want to set the indicator equals to 1 as long as any observation on Var1 within a particular group ID shows a value of 2, as shown in the sample data.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How can I program it in SAS? I appreciate any help.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Han&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:11:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449157#M283556</guid>
      <dc:creator>Zerg</dc:creator>
      <dc:date>2018-03-27T21:11:48Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449158#M283557</link>
      <description>&lt;P&gt;SQL is likely your best bet here:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table want as
select *, case when max(var1)=2 then 1 else 0 as indicator
from have
group by ID
order by 1, 2;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:14:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449158#M283557</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-03-27T21:14:57Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449163#M283558</link>
      <description>&lt;P&gt;Thank you for the prompt rely.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I followed your codes using the variables and data set I have:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table c7 as
select *, case when max(row2yrs)=2 then 1 else 0 as rowtag
from c6
group by execid
order by gvkey, year;
quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;It prompted error:&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;822  proc sql;
823  create table c6 as
824  select *, case when max(row2yrs)=2 then 1 else 0 as rowtag
                                                      --
                                                      73
ERROR 73-322: Expecting an END.

825  from c6
826  group by execid
827  order by gvkey, year;
828  quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;How can I&amp;nbsp; resolve it? Many thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:28:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449163#M283558</guid>
      <dc:creator>Zerg</dc:creator>
      <dc:date>2018-03-27T21:28:47Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449164#M283559</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/99834"&gt;@Zerg&lt;/a&gt;&amp;nbsp;While I completely agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza&lt;/a&gt;&amp;nbsp;with sql option assuming 2 is your max within a group ID, you can avoid case when for the reason you are anyways remerging. This helps binary operations&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines truncover;
input ID $  Year   Var1;  
datalines;
A    1990      .           1
A    1991      1          1
A    1992      2          1
B    1990      .           0
B    1991      0          0
B    1992      1          0
;
proc sql;
create table want as
select *,  max(var1)=2 as indicator
from have
group by ID
order by 1, 2;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:35:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449164#M283559</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-27T21:35:55Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449165#M283560</link>
      <description>&lt;P&gt;And if you have higher values than 2 as in the below modified example, binary operation is still very simple--&amp;gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
infile datalines truncover;
input ID $  Year   Var1;  
datalines;
A    1990      .           1
A    1991      1          1
A    1992      2          1
A	 1993      3	.	   
B    1990      .           0
B    1991      0          0
B    1992      1          0
;
proc sql;
create table want as
select *,  max(var1=2) as indicator
from have
group by ID
order by 1, 2;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:41:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449165#M283560</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-03-27T21:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449166#M283561</link>
      <description>&lt;P&gt;Well....I forgot the END but the log told you that. Add in the word END before the word AS.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE class=" language-sas"&gt;&lt;CODE class="  language-sas"&gt;ERROR &lt;SPAN class="token number"&gt;73&lt;/SPAN&gt;&lt;SPAN class="token number"&gt;-322&lt;/SPAN&gt;: &lt;SPAN class="token number"&gt;Ex&lt;/SPAN&gt;pecting an END&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:42:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449166#M283561</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2018-03-27T21:42:35Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449167#M283562</link>
      <description>&lt;P&gt;Like your log showed, the end statement was missing. However, is 2 the maximum value? If not, you could use something like:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have (drop=indicator);
  input ID $  Year   Var1  Indicator;
  cards;
A    1990      .           1
A    1991      1          1
A    1992      2          1
B    1990      .           0
B    1991      0          0
B    1992      1          0
;

proc sql;
  create table want (drop=twovar) as
    select a.*,max(b.twovar) as twovar,
           case
             when not missing(twovar) then 1
             else 0 
           end as indicator
      from have a left join have (rename=(Var1=twovar) drop=year where=(twovar eq 2)) b
        on a.ID eq b.ID
          group by a.ID
            order by 1, 2
  ;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:43:02 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449167#M283562</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2018-03-27T21:43:02Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449168#M283563</link>
      <description>Thank you novinosrin. Your solution works perfectly! &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;</description>
      <pubDate>Tue, 27 Mar 2018 21:45:32 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449168#M283563</guid>
      <dc:creator>Zerg</dc:creator>
      <dc:date>2018-03-27T21:45:32Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449169#M283564</link>
      <description>Thank you for helping me out!</description>
      <pubDate>Tue, 27 Mar 2018 21:47:18 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449169#M283564</guid>
      <dc:creator>Zerg</dc:creator>
      <dc:date>2018-03-27T21:47:18Z</dc:date>
    </item>
    <item>
      <title>Re: Creating an indicator variable for a group based on a particular value of a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449297#M283565</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have (drop=indicator);
  input ID $  Year   Var1  Indicator;
  cards;
A    1990      .           1
A    1991      1          1
A    1992      2          1
B    1990      .           0
B    1991      0          0
B    1992      1          0
;

data want;
 merge have have(keep=id var1 rename=(var1=_var1) where=(_var1=2) in=inb);
 by id;
 flag=inb;
 drop _var1;
run;
proc print noobs;run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Wed, 28 Mar 2018 12:34:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Creating-an-indicator-variable-for-a-group-based-on-a-particular/m-p/449297#M283565</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2018-03-28T12:34:57Z</dc:date>
    </item>
  </channel>
</rss>

