<?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: Subsetting data with PROC SQL in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/578070#M163901</link>
    <description>&lt;P&gt;Thank you both! Both suggestions worked great!&lt;/P&gt;</description>
    <pubDate>Wed, 31 Jul 2019 13:27:59 GMT</pubDate>
    <dc:creator>wj2</dc:creator>
    <dc:date>2019-07-31T13:27:59Z</dc:date>
    <item>
      <title>Subsetting data with PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577791#M163766</link>
      <description>&lt;P&gt;Hi SAS Community,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am trying to create a new data set using PROC SQL that only includes patients with 3 different prescriptions of medication A. However, I also need to include the other medication data from these selected patients (i.e., those that received 3 different prescriptions of medication A).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;For example, this is my “Have” data set and the data set I “Want.”&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Have:&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Patient_ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Med_name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Start_date&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUL2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;05JAN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;002&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;D&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15FEB2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20OCT2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15NOV2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15DEC2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15DEC2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Want:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Patient_ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Med_name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Start_date&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUL2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;B&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;C&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20OCT2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15NOV2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15DEC2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;E&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15DEC2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I’m using the PROC SQL code below; however, the problem is that my code only produces a table that does not include the other medication data for each participant (see below). Can someone please help me modify this code so that all medication data are included for each selected patient, like what is show above for table "Want"?&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql ;
		create table want as select * 
		from have
		where Med_name like 'A%' 
		group by patient_id
		having count(distinct start_date)&amp;gt;=3;
		quit;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;Data set that I am getting (do not want):&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;Patient_ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Med_name&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Start_date&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15JUN2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;001&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;01JUL2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;20OCT2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15NOV2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;P&gt;003&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;A&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;15DEC2018&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 30 Jul 2019 15:29:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577791#M163766</guid>
      <dc:creator>wj2</dc:creator>
      <dc:date>2019-07-30T15:29:26Z</dc:date>
    </item>
    <item>
      <title>Re: Subsetting data with PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577796#M163768</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data have;
infile cards expandtabs;
input Patient_ID	Med_name $	Start_date :date9.;
format Start_date date9.;
cards;
1	A	1-Jun-18
1	A	15-Jun-18
1	A	1-Jul-18
1	B	1-Jun-18
1	C	1-Jun-18
2	A	5-Jan-18
2	D	15-Feb-18
3	A	20-Oct-18
3	A	15-Nov-18
3	A	15-Dec-18
3	E	15-Dec-18
;


proc sql;
create table want(drop=s) as
select *
from 
(select * ,(count(distinct Start_date)=3 and Med_name='A') as s
from have
group by  Patient_ID,Med_name)
group by patient_id
having sum(s)&amp;gt;=3; 
quit;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 30 Jul 2019 15:45:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577796#M163768</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2019-07-30T15:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: Subsetting data with PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577818#M163777</link>
      <description>&lt;P&gt;Your requirement would translate to:&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 * 
from have
where patient_id in (
    select patient_id 
    from have 
    where med_name = "A"
    group by patient_id
    having count(*) &amp;gt;= 3);
quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;It is not clear if you want three or more "A" prescriptions or exactly three prescriptions. If the later, replace &amp;gt;= with = in the above.&lt;/P&gt;</description>
      <pubDate>Tue, 30 Jul 2019 16:40:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/577818#M163777</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2019-07-30T16:40:20Z</dc:date>
    </item>
    <item>
      <title>Re: Subsetting data with PROC SQL</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/578070#M163901</link>
      <description>&lt;P&gt;Thank you both! Both suggestions worked great!&lt;/P&gt;</description>
      <pubDate>Wed, 31 Jul 2019 13:27:59 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Subsetting-data-with-PROC-SQL/m-p/578070#M163901</guid>
      <dc:creator>wj2</dc:creator>
      <dc:date>2019-07-31T13:27:59Z</dc:date>
    </item>
  </channel>
</rss>

