<?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: Joining multiple tables in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398702#M96471</link>
    <description>&lt;P&gt;It's left joins on a single ID, what makes you think it's a cartesian product?&lt;/P&gt;
&lt;P&gt;What does your log say?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How many records are you expecting for that single ID?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume that the data set options are faster than including them in an SQL query but you can always test that as well.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 26 Sep 2017 02:35:39 GMT</pubDate>
    <dc:creator>Reeza</dc:creator>
    <dc:date>2017-09-26T02:35:39Z</dc:date>
    <item>
      <title>Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398694#M96466</link>
      <description>&lt;P&gt;I'm trying to join multiple datasets as below but it is running without ending.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm sure its forming cartesian product but not sure what i'm doing wrong.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;proc sql;

	create table	strans.pprofile as
	
		select		ae.* , ag.*, cm.*, di_ri.*, di_tr.*, dm.*, ds.*, ds_ic.*, ds_t.* 
					, dv.*, eg.*, en.*, ex.*, fa.*, ie.*, lb.*, lb_c.*, lb_u.*,
					mh.*, pe.*, re.*, sv.*
		
		from		seretide.ae (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit
								 rename =(VarGroup1Row = ae_vg1row)) as ae
									    
		left join	seretide.ag (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ag
									    
		on			ae.subjectid = ag.subjectid
		
		left join	seretide.cm (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit
									    rename =(VarGroup1Row = cm_vg1row))as cm									    
		on			ae.subjectid = cm.subjectid
		
		left join	seretide.di_ri (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as di_ri
									    
		on			ae.subjectid = di_ri.subjectid
		
		left join	seretide.di_tr (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as di_tr
									    
		on			ae.subjectid = di_tr.subjectid
		
		left join	seretide.dm (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as dm
									    
		on			ae.subjectid = dm.subjectid
		
		left join	seretide.ds (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds
									    
		on			ae.subjectid = ds.subjectid
		
		left join	seretide.ds_ic (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds_ic
									    
		on			ae.subjectid = ds_ic.subjectid
				
		left join	seretide.ds_t (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds_t
									    
		on			ae.subjectid = ds_t.subjectid
			
		left join	seretide.dv (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as dv
									    
		on			ae.subjectid = dv.subjectid
					
		left join	seretide.eg (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as eg
									    
		on			ae.subjectid = eg.subjectid
						
		left join	seretide.en (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as en
									    
		on			ae.subjectid = en.subjectid
						
		left join	seretide.ex (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ex
									    
		on			ae.subjectid = ex.subjectid
						
		left join	seretide.fa (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as fa
									    
		on			ae.subjectid = fa.subjectid
						
		left join	seretide.ie (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ie
									    
		on			ae.subjectid = ie.subjectid
						
		left join	seretide.lb (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb
									    
		on			ae.subjectid = lb.subjectid
						
		left join	seretide.lb_c (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb_c
									    
		on			ae.subjectid = lb_c.subjectid
						
		left join	seretide.lb_u (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb_u
									    
		on			ae.subjectid = lb_u.subjectid
						
		left join	seretide.mh (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as mh
									    
		on			ae.subjectid = mh.subjectid
						
		left join	seretide.pe (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as pe
									    
		on			ae.subjectid = pe.subjectid
						
		left join	seretide.re (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as re
									    
		on			ae.subjectid = re.subjectid
						
		left join	seretide.sv (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as sv
									    
		on			ae.subjectid = sv.subjectid
						
		left join	seretide.vs (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as vs
									    
		on			ae.subjectid = vs.subjectid
		
		order by	subjectid;
quit;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Sep 2017 01:50:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398694#M96466</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T01:50:16Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398696#M96467</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/106797"&gt;@krisraa&lt;/a&gt;&amp;nbsp;Not sure if the forum garbled that post, but the code is illegible as posted.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 01:53:48 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398696#M96467</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-26T01:53:48Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398697#M96468</link>
      <description>&lt;P&gt;Reeza,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Hope this is readable.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;proc sql;

	create table	strans.pprofile as
	
		select		ae.* , ag.*, cm.*, di_ri.*, di_tr.*, dm.*, ds.*, ds_ic.*, ds_t.* 
					, dv.*, eg.*, en.*, ex.*, fa.*, ie.*, lb.*, lb_c.*, lb_u.*,
					mh.*, pe.*, re.*, sv.*
		
		from		seretide.ae (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit
								 rename =(VarGroup1Row = ae_vg1row)) as ae
									    
		left join	seretide.ag (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ag
									    
		on			ae.subjectid = ag.subjectid
		
		left join	seretide.cm (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit
									    rename =(VarGroup1Row = cm_vg1row))as cm									    
		on			ae.subjectid = cm.subjectid
		
		left join	seretide.di_ri (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as di_ri
									    
		on			ae.subjectid = di_ri.subjectid
		
		left join	seretide.di_tr (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as di_tr
									    
		on			ae.subjectid = di_tr.subjectid
		
		left join	seretide.dm (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as dm
									    
		on			ae.subjectid = dm.subjectid
		
		left join	seretide.ds (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds
									    
		on			ae.subjectid = ds.subjectid
		
		left join	seretide.ds_ic (where = (subjectid='0001') 
								 	drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds_ic
									    
		on			ae.subjectid = ds_ic.subjectid
				
		left join	seretide.ds_t (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ds_t
									    
		on			ae.subjectid = ds_t.subjectid
			
		left join	seretide.dv (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as dv
									    
		on			ae.subjectid = dv.subjectid
					
		left join	seretide.eg (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as eg
									    
		on			ae.subjectid = eg.subjectid
						
		left join	seretide.en (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as en
									    
		on			ae.subjectid = en.subjectid
						
		left join	seretide.ex (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ex
									    
		on			ae.subjectid = ex.subjectid
						
		left join	seretide.fa (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as fa
									    
		on			ae.subjectid = fa.subjectid
						
		left join	seretide.ie (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as ie
									    
		on			ae.subjectid = ie.subjectid
						
		left join	seretide.lb (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb
									    
		on			ae.subjectid = lb.subjectid
						
		left join	seretide.lb_c (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb_c
									    
		on			ae.subjectid = lb_c.subjectid
						
		left join	seretide.lb_u (where = (subjectid='0001') 
								   drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as lb_u
									    
		on			ae.subjectid = lb_u.subjectid
						
		left join	seretide.mh (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as mh
									    
		on			ae.subjectid = mh.subjectid
						
		left join	seretide.pe (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as pe
									    
		on			ae.subjectid = pe.subjectid
						
		left join	seretide.re (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as re
									    
		on			ae.subjectid = re.subjectid
						
		left join	seretide.sv (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as sv
									    
		on			ae.subjectid = sv.subjectid
						
		left join	seretide.vs (where = (subjectid='0001') 
								 drop = SubjectVisitFormID
									    Form
									    FormEntryDate
									    SubjectStatus
									    Visit)as vs
									    
		on			ae.subjectid = vs.subjectid
		
		order by	subjectid;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Sep 2017 01:55:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398697#M96468</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T01:55:08Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398699#M96469</link>
      <description>&lt;P&gt;Yes, that's legible &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I can't see anything in the code that would cause the issue and if you're selecting to a single record it seems like it should be fast. Are all those data sets on a server or the same place, or are they split across a server and say, your desktop? If so, SAS will bring the datasets over to your local are first which will slow things down immensely.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'd test it by selecting, just the subjectID for now and doing my joins one at a time. Then run it and add each left join in sequentially and see where the problem is originating.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 02:00:10 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398699#M96469</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-26T02:00:10Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398701#M96470</link>
      <description>&lt;P&gt;All datasets are in my local folder and I believe it joins to form a cartesian product which is why its running quite long.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I need to find a easy way to extract one subject id values from all the datasets joined together as one dataset.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 02:09:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398701#M96470</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T02:09:16Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398702#M96471</link>
      <description>&lt;P&gt;It's left joins on a single ID, what makes you think it's a cartesian product?&lt;/P&gt;
&lt;P&gt;What does your log say?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How many records are you expecting for that single ID?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I assume that the data set options are faster than including them in an SQL query but you can always test that as well.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 02:35:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398702#M96471</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-26T02:35:39Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398703#M96472</link>
      <description>&lt;P&gt;This &amp;nbsp;yields the same result and is a lot easier to read and manage if you only have one record for that subjectID.&lt;/P&gt;
&lt;P&gt;If you have many records, then yes you'll get a cartesian product.&lt;/P&gt;
&lt;P&gt;How many records per subject do you have?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;
data WANT;
  merge SERETIDE.AE (rename =(VARGROUP1ROW = AE_VG1ROW)
        SERETIDE.AG 
        SERETIDE.CM (rename =(VARGROUP1ROW = CM_VG1ROW)
        SERETIDE.DI_RI 
        SERETIDE.DI_TR 
        SERETIDE.DM 
        SERETIDE.DS 
        SERETIDE.DS_IC 
        SERETIDE.DS_T 
        SERETIDE.DV
        SERETIDE.EG 
        SERETIDE.EN
        SERETIDE.EX 
        SERETIDE.FA 
        SERETIDE.IE 
        SERETIDE.LB 
        SERETIDE.LB_C
        SERETIDE.LB_U 
        SERETIDE.MH 
        SERETIDE.PE 
        SERETIDE.RE 
        SERETIDE.SV
        SERETIDE.VS ;
  where SUBJECTID='0001';
  drop  SUBJECTVISITFORMID
        FORM
        FORMENTRYDATE
        SUBJECTSTATUS
        VISIT;
run;
&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Sep 2017 02:48:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398703#M96472</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-09-26T02:48:30Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398704#M96473</link>
      <description>&lt;P&gt;Thanks Chris for optimizing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, subjectid has multiple records.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;on average each data set contains 60 observations.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now I need to find a better way to join and pull data for each subjectid.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:00:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398704#M96473</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T03:00:12Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398706#M96475</link>
      <description>&lt;P&gt;60 records in 23 tables with no join key? &amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How big is 60^23? &amp;nbsp;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You need to think about what output you want. Do you know?&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:16:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398706#M96475</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-09-26T03:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398708#M96476</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/16961"&gt;@ChrisNZ&lt;/a&gt;:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't see how your program would produce a cartesian cross, except when&amp;nbsp;each incoming dataset has exactly one observation with SUBJECTID='0001'.&amp;nbsp; And that would be the trivial cartesian cross of one output record.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But if no dataset has dupllicate SUBJECTIDs, then yes, your program is a lot simpler in construction,&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:22:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398708#M96476</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-09-26T03:22:22Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398709#M96477</link>
      <description>&lt;P&gt;How many columns are you bringing in from each of the joined tables? Do all tables have multiple records for the ID?&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:22:31 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398709#M96477</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-26T03:22:31Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398710#M96478</link>
      <description>&lt;P&gt;205 columns in total.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:30:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398710#M96478</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T03:30:27Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398711#M96479</link>
      <description>&lt;P&gt;The subject id has multiple observations in different data sets.&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:32:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398711#M96479</guid>
      <dc:creator>krisraa</dc:creator>
      <dc:date>2017-09-26T03:32:05Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398712#M96480</link>
      <description>&lt;P&gt;If this is a fact table rebuild - ie the tables were split and you're recombining them sometimes you can use a FORMAT instead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;With the amount of columns and a many to many merge I'm not sure there's any optimization. And as indicated, 60^23 is a big number...to big to type out and likely you're computer&amp;nbsp;won't process&amp;nbsp;it. You need to find a different way to restrict your query, maybe dates, or some other key to join to some tables? I can't believe a table of that size would be useful either.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:33:08 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398712#M96480</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2017-09-26T03:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398715#M96481</link>
      <description>&lt;P&gt;You said an average of 60 records per id in each table?'&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Joining 8 tables on subjectid with 60 qualifying records per file would generate 167,961,600,000,000 records.&amp;nbsp; 23 tables&amp;nbsp;would be that number almost cubed.&amp;nbsp; Not going to happen.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Do you really need a cartesian product of 23 files with 60 qualifying records in each?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 03:41:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398715#M96481</guid>
      <dc:creator>mkeintz</dc:creator>
      <dc:date>2017-09-26T03:41:57Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398723#M96482</link>
      <description>&lt;P&gt;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/31461"&gt;@mkeintz&lt;/a&gt;&amp;nbsp; that's why the first line reads "&lt;SPAN&gt;This yields the same result &amp;nbsp;...&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;if you only have one record for that subjectID"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Since we now know that there are several records, the OP needs to think about how he wants to organise his data.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Sep 2017 04:52:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398723#M96482</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2017-09-26T04:52:45Z</dc:date>
    </item>
    <item>
      <title>Re: Joining multiple tables</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398777#M96493</link>
      <description>&lt;P&gt;What are you actually trying to do?&lt;/P&gt;
&lt;P&gt;Why would you join every Adverse Event record with every Medical History record? &amp;nbsp;What possible meaning could you get from that?&lt;/P&gt;
&lt;P&gt;Did you just want to create separate output tables for each input table instead?&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.dm;
  set seretide.dm ;
  where subjectid='0001' ;
run;
data work.ae;
  set seretide.ae ;
  where subjectid='0001' ;
run;
data work.cm;
  set seretide.cm ;
  where subjectid='0001' ;
run;
...&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 26 Sep 2017 12:46:46 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-multiple-tables/m-p/398777#M96493</guid>
      <dc:creator>Tom</dc:creator>
      <dc:date>2017-09-26T12:46:46Z</dc:date>
    </item>
  </channel>
</rss>

