<?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: How Do I Join and Transpose Multiple Tables Each With Repeated Measures? in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/674902#M79313</link>
    <description>&lt;P&gt;Do you want the result as dataset or report? For a dataset the structure will cause additional work while further processing it. But here you go:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data persons;
   length ID 8 Name Gender $ 10;
   input ID Name Gender;
   datalines;
1 Sam Male
;
run;

data results;
   length ID Lab_ID 8 Lab Result $ 10;
   input ID Lab_ID Lab Result;
   datalines;
1 1 DNA Positive
1 2 RNA Positive
1 3 Viral Negative
;
run;


data contact;
   length ID Phone_ID 8 Phone $ 20;
   input ID Phone_ID Phone;
datalines;
1 1 1111111111
1 2 2222222222
;
run;

proc transpose data=work.results out=results_Lab(drop=_name_) prefix=Lab;
   by ID;
   var Lab;
run;

proc  transpose data=work.results out=results_Result(drop=_name_) prefix=Result;
   by Id;
   var Result;
run;

proc transpose data=contact out=contact_Phone(drop=_name_) prefix=Phone;
   by id;
   var Phone;
run;

data combined;
   merge persons results_Lab results_Result contact_Phone;
   by Id;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
    <pubDate>Thu, 06 Aug 2020 05:49:43 GMT</pubDate>
    <dc:creator>andreas_lds</dc:creator>
    <dc:date>2020-08-06T05:49:43Z</dc:date>
    <item>
      <title>How Do I Join and Transpose Multiple Tables Each With Repeated Measures?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/674888#M79311</link>
      <description>&lt;P&gt;I'm using SAS EG Version&amp;nbsp;7.15 HF8 (7.100.5.6214) (64-bit). I often have to join multiple tables that each have repeated measures and then I have to transform the data from long to wide. I can get the output I need, but the only way I know how to do this is to join the 1st repeated measures table, transform to wide format, then join the next repeated measures table, transform to wide format, and so forth so that the new numbered variables are correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way I can join all of my tables together at once and then transform everything to wide at one time? Example data below.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 1&lt;/P&gt;&lt;P&gt;ID Name Gender&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp;Sam&amp;nbsp; &amp;nbsp;Male&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 2&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp;Lab_ID&amp;nbsp; &amp;nbsp; Lab&amp;nbsp; &amp;nbsp; &amp;nbsp;Result&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DNA&amp;nbsp; &amp;nbsp; Positive&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RNA&amp;nbsp; &amp;nbsp; Positive&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 3&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Viral&amp;nbsp; &amp;nbsp; &amp;nbsp;Negative&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table 3&lt;/P&gt;&lt;P&gt;ID&amp;nbsp; &amp;nbsp; Phone_ID&amp;nbsp; &amp;nbsp;Phone&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1111111111&lt;/P&gt;&lt;P&gt;1&amp;nbsp; &amp;nbsp; &amp;nbsp; 2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2222222222&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Result of joining three tables:&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;ID&lt;/TD&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;Lab_ID&lt;/P&gt;&lt;/TD&gt;&lt;TD&gt;Lab&lt;/TD&gt;&lt;TD&gt;Result&lt;/TD&gt;&lt;TD&gt;Phone_ID&lt;/TD&gt;&lt;TD&gt;Phone&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;DNA&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1111111111&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;DNA&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2222222222&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;RNA&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1111111111&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;RNA&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2222222222&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;VIRAL&lt;/TD&gt;&lt;TD&gt;Negative&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1111111111&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;VIRAL&lt;/TD&gt;&lt;TD&gt;Negative&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2222222222&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Results I want:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;ID&lt;/TD&gt;&lt;TD&gt;Name&lt;/TD&gt;&lt;TD&gt;Gender&lt;/TD&gt;&lt;TD&gt;Lab1&lt;/TD&gt;&lt;TD&gt;Lab2&lt;/TD&gt;&lt;TD&gt;Lab3&lt;/TD&gt;&lt;TD&gt;Result1&lt;/TD&gt;&lt;TD&gt;Result2&lt;/TD&gt;&lt;TD&gt;Result3&lt;/TD&gt;&lt;TD&gt;Phone1&lt;/TD&gt;&lt;TD&gt;Phone2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Sam&lt;/TD&gt;&lt;TD&gt;Male&lt;/TD&gt;&lt;TD&gt;DNA&lt;/TD&gt;&lt;TD&gt;RNA&lt;/TD&gt;&lt;TD&gt;VIRAL&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;Positive&lt;/TD&gt;&lt;TD&gt;Negative&lt;/TD&gt;&lt;TD&gt;1111111111&lt;/TD&gt;&lt;TD&gt;&amp;nbsp; 2222222222&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;SAS Code I currently use for transforming to the results I want&lt;/P&gt;&lt;PRE&gt;proc sql;
create table first as
select table1.*, lab, result
from table1 join table2 on table1.ID = table2.ID
;quit

proc sql noprint;
select max(obs) into :nobs from (select count(*) as obs from first group by ID);
quit;

proc summary nway data=first missing;
class ID--Gender;
output out=wide(drop=_type_ _freq_) idgroup(out[&amp;amp;nobs] (Lab Result)=);
run;

proc sql;
create table second as
select first.*,phone
from first join table3 on first.ID = table3.ID
;quit

proc sql noprint;
select max(obs) into :nobsfin from (select count(*) as obs from second group by ID);
quit;

proc summary nway data=second missing;
class ID--Lab&amp;amp;nobsfin;
output out=wide_again(drop=_type_ _freq_) idgroup(out[&amp;amp;nobs] (Phone)=);
run;&lt;/PRE&gt;&lt;P&gt;What I'd love to do is join all of my data together like below and then transform to the results I want.&lt;/P&gt;&lt;PRE&gt;proc sql;
create table all as
select table1.*, lab, result, phone
from table1 join table2 on table1.ID = table2.ID
join table3 on table1.ID = table3.ID
;quit&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 06 Aug 2020 01:54:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/674888#M79311</guid>
      <dc:creator>cgates</dc:creator>
      <dc:date>2020-08-06T01:54:17Z</dc:date>
    </item>
    <item>
      <title>Re: How Do I Join and Transpose Multiple Tables Each With Repeated Measures?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/674902#M79313</link>
      <description>&lt;P&gt;Do you want the result as dataset or report? For a dataset the structure will cause additional work while further processing it. But here you go:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data persons;
   length ID 8 Name Gender $ 10;
   input ID Name Gender;
   datalines;
1 Sam Male
;
run;

data results;
   length ID Lab_ID 8 Lab Result $ 10;
   input ID Lab_ID Lab Result;
   datalines;
1 1 DNA Positive
1 2 RNA Positive
1 3 Viral Negative
;
run;


data contact;
   length ID Phone_ID 8 Phone $ 20;
   input ID Phone_ID Phone;
datalines;
1 1 1111111111
1 2 2222222222
;
run;

proc transpose data=work.results out=results_Lab(drop=_name_) prefix=Lab;
   by ID;
   var Lab;
run;

proc  transpose data=work.results out=results_Result(drop=_name_) prefix=Result;
   by Id;
   var Result;
run;

proc transpose data=contact out=contact_Phone(drop=_name_) prefix=Phone;
   by id;
   var Phone;
run;

data combined;
   merge persons results_Lab results_Result contact_Phone;
   by Id;
run;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Thu, 06 Aug 2020 05:49:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/674902#M79313</guid>
      <dc:creator>andreas_lds</dc:creator>
      <dc:date>2020-08-06T05:49:43Z</dc:date>
    </item>
    <item>
      <title>Re: How Do I Join and Transpose Multiple Tables Each With Repeated Measures?</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/675172#M79318</link>
      <description>Thank you!&lt;BR /&gt;&lt;BR /&gt;It works. I guess there’s no one step method for transposing all at once. It’s good to know that the solutions require separate transposing steps.</description>
      <pubDate>Fri, 07 Aug 2020 01:39:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/How-Do-I-Join-and-Transpose-Multiple-Tables-Each-With-Repeated/m-p/675172#M79318</guid>
      <dc:creator>cgates</dc:creator>
      <dc:date>2020-08-07T01:39:56Z</dc:date>
    </item>
  </channel>
</rss>

