<?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: possibly a proc sql question? (previously: &amp;quot;multistep if/then logic&amp;quot;) in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252827#M268809</link>
    <description>&lt;P&gt;A rather simple SQL query:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sql;
create table likesApples as
select * 
from have
group by patient
having sum(fruit="apple") &amp;gt;= 2;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Fri, 26 Feb 2016 21:28:52 GMT</pubDate>
    <dc:creator>PGStats</dc:creator>
    <dc:date>2016-02-26T21:28:52Z</dc:date>
    <item>
      <title>possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252791#M268807</link>
      <description>&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;Hi, I have been working on reorganizing a SAS dataset that has many columns and rows.&amp;nbsp; I've made a dummy "dataset 1" here as an example.&amp;nbsp; Dummy "dataset 1":&lt;/P&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mango &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientB &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientC &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cherry &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientC &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape &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;I have figured out how to create a new dataset containing only the entries that have fruit = apple.&amp;nbsp; I.e., "dataset 2":&lt;/P&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientB &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &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;I'm wondering if anyone could please teach me how to create a "dataset 3" from "dataset 1," that contains all of the entries for patients who have ever had fruit = apple more than once.&amp;nbsp; In other words, I'm interested in examining a "dataset 3" that looks like this:&lt;/P&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mango &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;Thanks for your help and patience.&amp;nbsp; I also apologize in advance to anyone who also saw this question earlier today.&amp;nbsp; I posted this as a follow-up question / reply to a solved question &amp;amp; wonder if that is limiting who can view the question, so I'm posting it as a new post here.&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 26 Feb 2016 19:25:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252791#M268807</guid>
      <dc:creator>beginner</dc:creator>
      <dc:date>2016-02-26T19:25:31Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252801#M268808</link>
      <description>&lt;P&gt;You'll always get a quicker result if you type in your 'have' table like I have it.&amp;nbsp; Here you go:&lt;/P&gt;
&lt;P&gt;data have;&lt;BR /&gt;input patient$&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fruit$;&lt;BR /&gt;cards;&lt;BR /&gt;patientA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;patientA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;patientA&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mango&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;patientB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;patientC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cherry&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;patientC&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape&lt;BR /&gt;;run;&lt;BR /&gt;&lt;BR /&gt;data want;&lt;BR /&gt;do until (last.patient);&lt;BR /&gt;set have;&lt;BR /&gt;by patient;&lt;BR /&gt;if fruit = 'apple' then count +1;&lt;BR /&gt;if first.patient then count = 1;&lt;BR /&gt;end;&lt;BR /&gt;do until (last.patient);&lt;BR /&gt;set have;&lt;BR /&gt;by patient;&lt;BR /&gt;if count &amp;gt; 1 then output;&lt;BR /&gt;end;&lt;BR /&gt;drop count;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Fri, 26 Feb 2016 19:46:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252801#M268808</guid>
      <dc:creator>Steelers_In_DC</dc:creator>
      <dc:date>2016-02-26T19:46:34Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252827#M268809</link>
      <description>&lt;P&gt;A rather simple SQL query:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
proc sql;
create table likesApples as
select * 
from have
group by patient
having sum(fruit="apple") &amp;gt;= 2;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Fri, 26 Feb 2016 21:28:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252827#M268809</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-02-26T21:28:52Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252837#M268810</link>
      <description>&lt;P&gt;Unlike the data step (DOW loop) solution, PROC SQL does not preserve the original sort order of observations. But, if this was an issue, given the "many" columns in HAVE, it should be possible to build a suitable ORDER BY clause.&lt;/P&gt;</description>
      <pubDate>Fri, 26 Feb 2016 21:40:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252837#M268810</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-02-26T21:40:51Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252853#M268811</link>
      <description>&lt;P&gt;Hi.&amp;nbsp; Thank you, this is working.&amp;nbsp; It's also very helpful that this preserves my sorting.&amp;nbsp; So after this step I thought I could do a proc sql to get "dataset4," but this this doesn't seem to be working.&amp;nbsp; I think I might not understand how to use proc sql.&amp;nbsp; Here's what I'm trying to do:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;DIV class="lia-message-body"&gt;&lt;DIV class="lia-message-body-content"&gt;&lt;P&gt;I have "dataset1" that looks like this (I've added in a patient D to this dummy dataset now, to illustrate my problem):&lt;/P&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mango &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientB &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientC &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cherry &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientC &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&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;Using your solution, I got "dataset3," which looks like this:&lt;BR /&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientA &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mango &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&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;I had planned to next use the following lines:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql ;&lt;BR /&gt;create table dataset4 as&lt;BR /&gt;select *&lt;BR /&gt;from dataset3&lt;BR /&gt;where patient in(&lt;BR /&gt;select patient from dataset1 where fruit ^= 'mango' and fruit ^= 'peach')&lt;BR /&gt;;&lt;BR /&gt;quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To get a "dataset4" that looks like this:&lt;/P&gt;&lt;P&gt;&lt;U&gt;patient &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; fruit&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [many other columns]&lt;BR /&gt;&lt;/U&gt;&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grape &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ....&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&lt;/P&gt;&lt;P&gt;patientD &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; apple&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;In other words, I want to remove from "dataset3" all patients for whom the "fruit" entry is at any point mango or peach.&amp;nbsp; Thoughts?&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 26 Feb 2016 22:31:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252853#M268811</guid>
      <dc:creator>beginner</dc:creator>
      <dc:date>2016-02-26T22:31:57Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252969#M268812</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/69583"&gt;@beginner﻿&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;please find below a modified version of your PROC SQL code, which will do what you want.&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table dataset4 as
select *
from dataset3
where patient ^in(
select distinct patient from dataset3 where fruit = 'mango' or fruit = 'peach')
;
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Edit: Explanations:&lt;/P&gt;
&lt;P&gt;The subquery of your PROC SQL step looks at each observation of DATASET1 separately and selects the value of variable PATIENT from it whenever FRUIT is neither 'mango' nor 'peach'. But this can easily bring in patients who &lt;EM&gt;do have&lt;/EM&gt; 'mango' or 'peach' -- in &lt;EM&gt;other&lt;/EM&gt; observations (example: patientA). A single non-('mango' or 'peach') observation is sufficient to make&amp;nbsp;this happen.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Therefore, I changed the logic to &lt;EM&gt;ex&lt;/EM&gt;clude (via &lt;FONT face="courier new,courier"&gt;^in&lt;/FONT&gt;, i.e.&amp;nbsp;&lt;FONT face="courier new,courier"&gt;not in&lt;/FONT&gt;) patients who &lt;EM&gt;do have&lt;/EM&gt; 'mango' &lt;EM&gt;or&lt;/EM&gt; 'peach' in any observation. Just to improve performance I restricted the search (of the subquery) to DATASET3, because this is our "universe" in the main query, and added the DISTINCT keyword in order to keep the result of the subquery as small as possible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Alternatively, one could apply the DOW loop technique (as in Steelers_In_DC's solution)&amp;nbsp;again instead of PROC SQL. If DATASET3 is only used as the basis for the creation of&amp;nbsp;DATASET4, it would be&amp;nbsp;even&amp;nbsp;easier to take the step from DATASET1&amp;nbsp;to DATASET4 directly. Simply add the exclusion criterion to the existing solution, as shown below:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data dataset4;
do until (last.patient);
  set dataset1;
  by patient;
  if fruit = 'apple' then count=sum(count,1);
  else if fruit in ('mango', 'peach') then excl=1;
end;
do until (last.patient);
  set dataset1;
  by patient;
  if count &amp;gt; 1 &amp;amp; ^excl then output;
end;
drop count excl;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;As a minor tweak (just for "optimization", not necessary) I changed the way how variable COUNT&amp;nbsp;is incremented: The original "&lt;FONT face="courier new,courier"&gt;count+1&lt;/FONT&gt;" (a sum statement) causes an implicit RETAIN for variable COUNT. As a consequence,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/30712"&gt;@Steelers_In_DC﻿&lt;/a&gt;&amp;nbsp;had to reset COUNT to 1 at the beginning of each BY group &lt;SPAN&gt;in order to count the "apples" for each patient separately. We need COUNT to be retained only within the&amp;nbsp;BY groups and this is guaranteed already by the DOW loop technique (&lt;FONT face="courier new,courier"&gt;do until(last.xxx); set ...&lt;/FONT&gt;), because each BY group is processed within one iteration of the data step.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt; However, we need another feature of the sum statement:&amp;nbsp;the implicit initialization of the variable (here: COUNT) to zero. The SUM &lt;EM&gt;function&lt;/EM&gt;&amp;nbsp;shares this feature with the sum statement. So, I used that together with an ordinary assignment statement and deleted "&lt;SPAN&gt;&lt;FONT face="courier new,courier"&gt;if first.patient then count = 1;&lt;/FONT&gt;"&lt;/SPAN&gt;. (An assignment statement of the form &lt;FONT face="courier new,courier"&gt;count=count+1&lt;/FONT&gt; would not work without additional code, because COUNT would start with a missing value at the beginning of each&amp;nbsp;BY group and "missing + 1 is missing.")&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Likewise,&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats﻿&lt;/a&gt;'s PROC SQL approach could be amended easily to exclude the&amp;nbsp;&lt;SPAN&gt;'mango'-or-'peach' patients by using the following HAVING clause:&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;having sum(fruit="apple") &amp;gt;= 2 &amp;amp; sum(fruit in ("mango" "peach"))=0;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 27 Feb 2016 22:44:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/252969#M268812</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2016-02-27T22:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: possibly a proc sql question? (previously: "multistep if/then logic")</title>
      <link>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/253298#M268813</link>
      <description>&lt;P&gt;Thank you, @&lt;SPAN class="UserName lia-user-name lia-user-rank-Valued-Guide"&gt;&lt;A href="https://communities.sas.com/t5/user/viewprofilepage/user-id/32733" target="_self"&gt;&lt;SPAN class="login-bold"&gt;FreelanceReinhard&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;!&lt;/P&gt;</description>
      <pubDate>Mon, 29 Feb 2016 21:27:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/possibly-a-proc-sql-question-previously-quot-multistep-if-then/m-p/253298#M268813</guid>
      <dc:creator>beginner</dc:creator>
      <dc:date>2016-02-29T21:27:05Z</dc:date>
    </item>
  </channel>
</rss>

