<?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: Flagging a variable in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420244#M103396</link>
    <description>&lt;P&gt;As long as we're accepting late entries, I would suggest a different end result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;sql&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;create table want as&lt;/P&gt;
&lt;P&gt;select *, sum(treatment) as flag&lt;/P&gt;
&lt;P&gt;from have&lt;/P&gt;
&lt;P&gt;group by id;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now your FLAG values won't always be 0 or 1.&amp;nbsp; But they will be more useful, because they hold the number of treatment observations for that person.&amp;nbsp; You can easily select observations with TREATMENT = 0, or with TREATMENT &amp;gt; 0.&lt;/P&gt;</description>
    <pubDate>Mon, 11 Dec 2017 19:02:56 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2017-12-11T19:02:56Z</dc:date>
    <item>
      <title>Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420173#M103363</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have a dataset I want to flag if a condition is met.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The below is how&amp;nbsp;my data look like.&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp; treatment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;3&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;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I want to flag Ids that have used more than 1 treatment&lt;/P&gt;&lt;P&gt;ID&amp;nbsp;&amp;nbsp; treatment&amp;nbsp;&amp;nbsp;&amp;nbsp; Flag_multiple_tx (yes=1 no=0)&lt;/P&gt;&lt;P&gt;1&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; 1&lt;/P&gt;&lt;P&gt;1&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; 1&lt;/P&gt;&lt;P&gt;1&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; 1&lt;/P&gt;&lt;P&gt;2&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; 0&lt;/P&gt;&lt;P&gt;2&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;0&lt;/P&gt;&lt;P&gt;2&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; 0&lt;/P&gt;&lt;P&gt;3&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; 1&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to use&lt;/P&gt;&lt;P&gt;if tx=0 and tx=1 then flag_multiple_tx=0;&lt;/P&gt;&lt;P&gt;if tx=0&amp;nbsp;and tx=2 then flag_multiple_tx=0;&lt;/P&gt;&lt;P&gt;and so on.&lt;/P&gt;&lt;P&gt;But it didn't work&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;</description>
      <pubDate>Mon, 11 Dec 2017 16:19:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420173#M103363</guid>
      <dc:creator>leahcho</dc:creator>
      <dc:date>2017-12-11T16:19:45Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420181#M103364</link>
      <description>&lt;P&gt;Something like (and post test data in the form of a datastep in a code window for tested code):&lt;/P&gt;
&lt;PRE&gt;proc sql;
  create table WANT as
  select A.*,
         B.FLAG
  from   HAVE A
  left join (select ID,case when sum(TREATMENT) &amp;gt; 1 then 1 else 0 end as FLAG from HAVE group by ID) B
  on     A.ID=B.ID;
quit;&lt;/PRE&gt;</description>
      <pubDate>Mon, 11 Dec 2017 16:31:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420181#M103364</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-12-11T16:31:21Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420184#M103365</link>
      <description>&lt;P&gt;I don't think&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/45151"&gt;@RW9&lt;/a&gt;'s code will do what you want. I, personally, prefer using what's known as a DOW loop in a data step to solve such problems:&lt;/P&gt;
&lt;PRE&gt;data want (drop=check);
  do until (last.id);
    set have;
    by id;
    if first.id then do;
      check=treatment;
      flag=0;
    end;
    else if check ne treatment then flag=1;
  end;
  do until (last.id);
    set have;
    by id;
    output;
  end;
run;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Dec 2017 16:39:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420184#M103365</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-11T16:39:37Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420189#M103367</link>
      <description>&lt;P&gt;Conversely, if you prefer proc sql, I think that the following will do what you want:&lt;/P&gt;
&lt;PRE&gt;proc sql;
  create table WANT as
    select A.*,
           B.FLAG
      from   HAVE A
        left join (select distinct ID,
                case when count(distinct TREATMENT) &amp;gt; 1 then 1
                else 0 end as FLAG from HAVE group by ID) B
           on A.ID=B.ID;
quit;
&lt;/PRE&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Dec 2017 16:51:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420189#M103367</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-11T16:51:04Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420205#M103373</link>
      <description>&lt;P&gt;Here is a way to replicate the double DOW approach demonstrated by &lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13711"&gt;@art297&lt;/a&gt;, without specifying do loops.&amp;nbsp;&amp;nbsp; Like the double DOW this approach reads each ID twice - in the first pass it generates data needed for the criterion you want, and in the second pass it uses that criterion.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I've begun to prefer this technique for many cases in which I used to implement&amp;nbsp;the double dow technique.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data have;
input ID   treatment    ;
datalines;
1        0                   
1        1                   
1        1                   
2        1                   
2        1                    
2        1                   
3        1                   
3        2                   
3        2             
run;
data want  (drop=n_treat);
  set have (in=firstpass) 
      have (in=secondpass);
  by id;

  if firstpass and lag(treatment)^=treatment then n_treat+1;
  if first.id then n_treat=1;
  if secondpass;
  flag_multiple=(n_treat&amp;gt;1);
run;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Notes:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Using the "set have (in=firstpass) have (in=secondpass); by id;" forces each id to be read two times before proceeding to the next id - i.e. it is interleaving data set HAVE with itself, on an ID by ID basis.&amp;nbsp;&amp;nbsp; Using the temporary variables firstpass and secondpass allows your program to know which phase it is processing.&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;
&lt;LI&gt;The "if firstpass and lag(treatment)^=treatment then n_treat+1" increments N_TREAT each time there is a treatment change.&amp;nbsp; In this case "n_treat+1"&amp;nbsp; instead of "n_treat=n_treat+1" is a "sum statement" which tells sas to avoid resetting N_TREAT to missing with every incoming observation.&amp;nbsp; The subsequent "if first.id then n_treat=1" resets at the start of each ID.&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Mon, 11 Dec 2017 17:34:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420205#M103373</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-11T17:34:43Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420234#M103389</link>
      <description>&lt;P&gt;Hi, My apologies for late entry. You could also try the most easiest of all:&lt;/P&gt;&lt;P&gt;NOTES: Take advantage of remerging stats and boolean as shown below&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;data&lt;/STRONG&gt; have;&lt;/P&gt;&lt;P&gt;input ID&amp;nbsp;&amp;nbsp; treatment&amp;nbsp;&amp;nbsp;&amp;nbsp; ;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;1&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;2&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;&lt;/P&gt;&lt;P&gt;3&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;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&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;&lt;/P&gt;&lt;P&gt;3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt; &lt;STRONG&gt;sql&lt;/STRONG&gt;;&lt;/P&gt;&lt;P&gt;create table want as&lt;/P&gt;&lt;P&gt;select *, min(treatment) ne max(treatment) as flag&lt;/P&gt;&lt;P&gt;from have&lt;/P&gt;&lt;P&gt;group by id;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;</description>
      <pubDate>Mon, 11 Dec 2017 18:33:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420234#M103389</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-11T18:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420244#M103396</link>
      <description>&lt;P&gt;As long as we're accepting late entries, I would suggest a different end result:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;sql&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;create table want as&lt;/P&gt;
&lt;P&gt;select *, sum(treatment) as flag&lt;/P&gt;
&lt;P&gt;from have&lt;/P&gt;
&lt;P&gt;group by id;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;quit&lt;/STRONG&gt;;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Now your FLAG values won't always be 0 or 1.&amp;nbsp; But they will be more useful, because they hold the number of treatment observations for that person.&amp;nbsp; You can easily select observations with TREATMENT = 0, or with TREATMENT &amp;gt; 0.&lt;/P&gt;</description>
      <pubDate>Mon, 11 Dec 2017 19:02:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420244#M103396</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-12-11T19:02:56Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420324#M103435</link>
      <description>&lt;P&gt;I don't think SUM(treatment) would be that useful.&amp;nbsp;&amp;nbsp;&amp;nbsp; Both triplets&amp;nbsp; (1,1,1)&amp;nbsp;&amp;nbsp; and (0,1,2) have a sum of 3, but the first has 1 distinct treatment code, and the other has 3 codes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, if I know my data is sorted by the group variable, I find that the DATA step approach is typically faster than the proc sql.&amp;nbsp; After all the latter will have "NOTE: The query requires remerging summary statistics back with the original data".&amp;nbsp; Doing the example we have worked with, multiplied to 30 million (and more) records, the data step was consistently twice as fast as the sql approach.&amp;nbsp; Not meaningful for a one-off application, but worth considering in production mode.&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2017 00:25:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420324#M103435</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-12-12T00:25:22Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420484#M103491</link>
      <description>&lt;P&gt;My bad.&amp;nbsp; I was too hasty, thinking that treatment would always be 0 or 1.&amp;nbsp; Don't use my code!&amp;nbsp; But do consider whether you would be better served by creating a count rather than a flag.&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2017 14:50:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420484#M103491</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2017-12-12T14:50:16Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420538#M103510</link>
      <description>&lt;P&gt;Thanks all for your responses!&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2017 17:33:29 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420538#M103510</guid>
      <dc:creator>leahcho</dc:creator>
      <dc:date>2017-12-12T17:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420561#M103513</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/151476"&gt;@leahcho&lt;/a&gt;: I could care less whose CORRECT response you indicate as the solution, but why in the world would you select one that the author, himself, told you NOT to use because it was flawed?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;When others find your post in a search, they will adopt the code that you said correctly solved your problem. In this case, you'll be causing them a lot of grief.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Art, CEO, AnalystFinder.com&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2017 19:31:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420561#M103513</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2017-12-12T19:31:36Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420570#M103515</link>
      <description>Thanks for pointing out my mistake. I also noticed that I picked the right answer. When I was scrolling thru all the responses posted, I chose the one that looked similar to the one that actually worked.&lt;BR /&gt;&lt;BR /&gt;Here is the one I used and worked&lt;BR /&gt;Proc sql;&lt;BR /&gt;Create table want as&lt;BR /&gt;Select * min(treatment) ne max (treatment) as flag&lt;BR /&gt;From have&lt;BR /&gt;Group by Id;&lt;BR /&gt;Quit;&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 12 Dec 2017 20:28:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420570#M103515</guid>
      <dc:creator>leahcho</dc:creator>
      <dc:date>2017-12-12T20:28:10Z</dc:date>
    </item>
    <item>
      <title>Re: Flagging a variable</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420575#M103518</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/151476"&gt;@leahcho&lt;/a&gt;&amp;nbsp; Thank you. I think either way with only 340 posts,i'll stay novice forever hahahahha&lt;/P&gt;</description>
      <pubDate>Tue, 12 Dec 2017 20:37:47 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Flagging-a-variable/m-p/420575#M103518</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2017-12-12T20:37:47Z</dc:date>
    </item>
  </channel>
</rss>

