<?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: identifying patients in all tables using proc sql in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264692#M51966</link>
    <description>&lt;P&gt;If you did just want to fix your where condition it would be :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Where a.id=b.id and a.id=c.id and a.id=d.id and a.id=e.id;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Mon, 18 Apr 2016 22:36:58 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2016-04-18T22:36:58Z</dc:date>
    <item>
      <title>identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264685#M51960</link>
      <description>&lt;P&gt;Hi!&amp;nbsp; Looking for some help for fixing my proc sql syntax...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I have five tables representing a year (FY10-FY14) of health encounters for all patients during that specific year.&lt;/P&gt;
&lt;P&gt;I need to identify the cohort of patients that recieved care in each of those five years.&amp;nbsp; So first health encounter should be in FY10 and last encounter should be in FY14 but the patient should also have encounters in FY12 and FY13. &amp;nbsp; This is my syntax used, but when I check the output at the end, the first encounter for many patients were not in FY10.&amp;nbsp; Any help is appreciated!!&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;
create table CRG.ASTHMA_FY10to14_1 as
select a.*, b.*,c.*,d.*,e.*
from  CRG.ASTHMA_fy10_crg1 as a, CRG.ASTHMA_fy11_crg1  as b, CRG.ASTHMA_fy12_crg1 as c, CRG.ASTHMA_fy13_crg1 as d, CRG.ASTHMA_fy14_crg1 as e
where a.patientid=b.patientid=c.patientid=d.patientid=e.patientid;
quit;
*Identify patients that are in all fiscal years. 43152 rows and 22 columns;

proc sql;
create table CRG.ASTHMA_FY10to14_All_Cohort as
select a.*, b.*
from CRG.ASTHMA_FY10to14_1 as a, asthma.FY10to14_Asthma_IPOP_PDTS_1 as b
where a.patientid=b.patientid;
quit;
*Join the patientid with the full medical record.  NOTE: Table CRG.ASTHMA_FY10TO14_ALL_COHORT created, with 4567056 rows and 113 columns;

data first_enc_check;
set CRG.ASTHMA_FY10to14_All_Cohort;
by patientid;
if first.patientid then output;
run;
*checked to make sure first.patientid was in FY10...and not all  were.&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 18 Apr 2016 22:02:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264685#M51960</guid>
      <dc:creator>jenim514</dc:creator>
      <dc:date>2016-04-18T22:02:08Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264691#M51965</link>
      <description>&lt;P&gt;Use an inner join.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't think you can list your where condition that way either you need a bunch of AND in between your equal signs.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's a sketch of how it should look:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;From table1 as a
Inner join table2 as b
On a.id=b.id
Inner join table3 as c
On a.id=c.id
....
Where *any other condition *;
Quit;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;There's a post from a SAS trainer that explains why this is actually faster than your query which is a cross join that is then filtered.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If if all this is gibberish try reading up on join types &lt;span class="lia-unicode-emoji" title=":nerd_face:"&gt;🤓&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 18 Apr 2016 22:35:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264691#M51965</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-18T22:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264692#M51966</link>
      <description>&lt;P&gt;If you did just want to fix your where condition it would be :&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;Where a.id=b.id and a.id=c.id and a.id=d.id and a.id=e.id;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Mon, 18 Apr 2016 22:36:58 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264692#M51966</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-18T22:36:58Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264699#M51968</link>
      <description>&lt;P&gt;I would prefer to use set operations:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;

create table everyYear as
select patientId from CRG.ASTHMA_fy10_crg1
intersect
select patientId from CRG.ASTHMA_fy11_crg1
intersect
select patientId from CRG.ASTHMA_fy12_crg1
intersect
select patientId from CRG.ASTHMA_fy13_crg1
intersect
select patientId from CRG.ASTHMA_fy14_crg1;

create table CRG.ASTHMA_FY10to14_1 as
select * from CRG.ASTHMA_fy10_crg1 where patientId in (select patientId from everyYear)
union all corresponding
select * from CRG.ASTHMA_fy11_crg1 where patientId in (select patientId from everyYear)
union all corresponding
select * from CRG.ASTHMA_fy12_crg1 where patientId in (select patientId from everyYear)
union all corresponding
select * from CRG.ASTHMA_fy13_crg1 where patientId in (select patientId from everyYear)
union all corresponding
select * from CRG.ASTHMA_fy14_crg1 where patientId in (select patientId from everyYear)
order by patientId, myTimeVariable;

drop table everyYear;

quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 19 Apr 2016 02:04:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264699#M51968</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-04-19T02:04:43Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264850#M52009</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats﻿&lt;/a&gt;What type of union or join would allow me to keep all the variables found in each CRG.asthma table (in your second step)? Each table has unique variables assigned to that Fiscal Year. It seems the Union All just keeps those variables that are the same in each table. Thanks!!&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 17:49:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264850#M52009</guid>
      <dc:creator>jenim514</dc:creator>
      <dc:date>2016-04-19T17:49:55Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264853#M52010</link>
      <description>&lt;P&gt;Replace &lt;EM&gt;union all corresponding&lt;/EM&gt; with &lt;EM&gt;outer union corresponding&lt;/EM&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 18:03:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264853#M52010</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-04-19T18:03:55Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264862#M52013</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats&lt;/a&gt; one more thing!&amp;nbsp; The output is long, and I need to make wide...i.e.&lt;BR /&gt;&amp;nbsp;one Patientid and all corresponding FY variables on one line. &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;my current output looks like&lt;BR /&gt;datalines;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;ID 10_CRG&amp;nbsp; 11_CRG 12_CRG 13_CRG 14_CRG&lt;BR /&gt;1 2&lt;BR /&gt;1 . 4&lt;BR /&gt;1 . . 3&lt;BR /&gt;1 . . . 2&lt;BR /&gt;1 . . . . 3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;want to look like&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;1 2 4 3 2 3&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, a transpose I think, but i have never used transpose and it is transpoing weird output.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 18:57:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264862#M52013</guid>
      <dc:creator>jenim514</dc:creator>
      <dc:date>2016-04-19T18:57:10Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264894#M52021</link>
      <description>&lt;P&gt;Why wide? Why not&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;ID YEAR CRG&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2010 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2011 4&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2012 3&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2013 2&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2014 3&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;you would save yourself so much trouble.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 20:13:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264894#M52021</guid>
      <dc:creator>PGStats</dc:creator>
      <dc:date>2016-04-19T20:13:27Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264927#M52026</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13879"&gt;@Reeza﻿&lt;/a&gt;&amp;nbsp;Any link for the SAS trainer post?&amp;nbsp;I can't find it.&lt;/P&gt;
&lt;P&gt;While it seems intuitive, my own quick benchmark can't confirm this.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt; TAB1;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt; I=&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;to&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;100e6&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;output&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;end&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt; TAB2;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt; I=&lt;/FONT&gt;&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;1&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;to&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;200e6&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;by&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#008080" face="SAS Monospace" size="1"&gt;2&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;output&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;&lt;FONT color="#0000ff" face="SAS Monospace" size="1"&gt;end&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;FONT color="#000080" face="SAS Monospace" size="1"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="SAS Monospace" size="1"&gt;&lt;FONT face="SAS Monospace" size="1"&gt;;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; , TAB2&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;where tab1.I=tab2.I&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; and tab1.I &amp;lt; 50e6;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20.02 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 26.50 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.99 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1060985.07k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1084668.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 576 &amp;nbsp; Switch Count 82&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TAB2&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on tab1.I=tab2.I&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; and tab1.I &amp;lt; 50e6;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20.49 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27.08 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.60 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1060985.95k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1084668.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;578 Switch Count 92&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TAB2&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on tab1.I=tab2.I&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;where tab1.I &amp;lt; 50e6;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20.24 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 27.42 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2.76 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1060986.07k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1084668.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 580 &amp;nbsp; Switch Count 92&lt;/FONT&gt;&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;Note that the optimizer could do a much better job; faster time and much less memory when using a dataset option:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1(where=(I &amp;lt; 50e6))&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; , TAB2&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;where tab1.I=tab2.I&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20:10.43&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16:54.70&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:15.51&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12688.53k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37428.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;577 Switch Count 82&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1(where=(I &amp;lt; 50e6))&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; inner join&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TAB2&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; on tab1.I=tab2.I;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 20:00.49&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16:47.42&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3:12.92&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12688.53k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 37428.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;579 Switch Count 90&lt;/FONT&gt;&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;The intersect and the subquery syntaxes are slower:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; from TAB1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; where tab1.I &amp;lt; 50e6&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;intersect&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; select tab2.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&amp;nbsp; from TAB2 ;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 28.42 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 49.32 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6.20 seconds&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1060660.10k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1083768.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;583 Switch Count 125&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;create table OUT as&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;select tab1.*&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;from TAB1&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;where I in(select I from TAB2)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;and tab1.I &amp;lt; 50e6;&lt;/FONT&gt;&lt;FONT face="courier new,courier" size="2"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;TD width="312"&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;real time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 47:44.37&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;user cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 11:18.49&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;system cpu time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 36:24.32&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5444475.43k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;OS Memory&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6238204.00k&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="courier new,courier" size="2"&gt;Step Count&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;581 Switch Count 3794&lt;/FONT&gt;&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;More performance and benchmark fun in&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Apr 2016 22:22:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/264927#M52026</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2016-04-19T22:22:33Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/265139#M52090</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/462"&gt;@PGStats﻿&lt;/a&gt;&amp;nbsp; Can you gelp me get to the result you recomended?&amp;nbsp; I can work with a table that is formatted the way you suggested.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My transpose attempt:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=CRG.ASTHMA_FY10to14_F out=long prefix=CRG;&lt;BR /&gt;by patientid;&lt;BR /&gt;var concurrent_fy10-concurrent_fy14;&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;resulted in this (patientid hidden by me):&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;TABLE class="table" summary="Procedure Print: Data Set WORK.LONG" frame="box" rules="all" cellpadding="5" cellspacing="0"&gt;&lt;COLGROUP&gt; &lt;COL /&gt;&lt;/COLGROUP&gt; &lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r header" scope="col"&gt;Obs&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;_NAME_&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;CRG1&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;CRG2&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;CRG3&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;CRG4&lt;/TH&gt;
&lt;TH class="l header" scope="col"&gt;CRG5&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;1&lt;/TH&gt;
&lt;TD class="l data"&gt;CONCURRENT_FY10&lt;/TD&gt;
&lt;TD class="l data"&gt;10000&lt;/TD&gt;
&lt;TD class="l data"&gt;10000&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;2&lt;/TH&gt;
&lt;TD class="l data"&gt;CONCURRENT_FY11&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;51381&lt;/TD&gt;
&lt;TD class="l data"&gt;51381&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;3&lt;/TH&gt;
&lt;TD class="l data"&gt;CONCURRENT_FY12&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;51381&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;4&lt;/TH&gt;
&lt;TD class="l data"&gt;CONCURRENT_FY13&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;5&lt;/TH&gt;
&lt;TD class="l data"&gt;CONCURRENT_FY14&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TH class="r rowheader" scope="row"&gt;&amp;nbsp;&lt;/TH&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;TD class="l data"&gt;&amp;nbsp;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can I get to this type of table:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;ID YEAR CRG&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2010 10000&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1 2010 10000&lt;BR /&gt;&lt;SPAN&gt;1 2011&amp;nbsp; 51381&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2011&amp;nbsp; 51381&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2012&amp;nbsp; 51381&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;1 2013&amp;nbsp; .&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;1 2014&amp;nbsp; .&lt;/P&gt;</description>
      <pubDate>Wed, 20 Apr 2016 16:11:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/265139#M52090</guid>
      <dc:creator>jenim514</dc:creator>
      <dc:date>2016-04-20T16:11:01Z</dc:date>
    </item>
    <item>
      <title>Re: identifying patients in all tables using proc sql</title>
      <link>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/265141#M52091</link>
      <description>&lt;P&gt;Maybe I misunderstood the post.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I prefer an explicit join for clarity when reviewing code&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's the post&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.sas.com/content/sastraining/2013/02/04/a-database-professionals-best-friend-2/" target="_blank"&gt;http://blogs.sas.com/content/sastraining/2013/02/04/a-database-professionals-best-friend-2/&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 20 Apr 2016 16:17:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/identifying-patients-in-all-tables-using-proc-sql/m-p/265141#M52091</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2016-04-20T16:17:39Z</dc:date>
    </item>
  </channel>
</rss>

