<?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 Merge datasets with same variables, adding variables horizontally in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882709#M348742</link>
    <description>&lt;P&gt;We would like to merge two or more datasets that share the same variables (time, Type_a, Type_b, pair).&amp;nbsp; These are two datasets:&lt;/P&gt;&lt;P&gt;DS1:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a&lt;/TD&gt;&lt;TD&gt;Type_b&lt;/TD&gt;&lt;TD&gt;pair&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;DS2:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a&lt;/TD&gt;&lt;TD&gt;Type_b&lt;/TD&gt;&lt;TD&gt;pair&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_15&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;We want to get the following output:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a_ds1&lt;/TD&gt;&lt;TD&gt;Type_b_ds1&lt;/TD&gt;&lt;TD&gt;pair_ds1&lt;/TD&gt;&lt;TD&gt;Type_a_ds2&lt;/TD&gt;&lt;TD&gt;Type_b_ds2&lt;/TD&gt;&lt;TD&gt;pair_ds2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_15&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Notice that the datasets might not share the same values for time. As shown for time_15 (missing in DS1) and time_12 and time_18 (missing in DS2).&lt;/P&gt;</description>
    <pubDate>Tue, 27 Jun 2023 21:29:55 GMT</pubDate>
    <dc:creator>ANKH1</dc:creator>
    <dc:date>2023-06-27T21:29:55Z</dc:date>
    <item>
      <title>Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882709#M348742</link>
      <description>&lt;P&gt;We would like to merge two or more datasets that share the same variables (time, Type_a, Type_b, pair).&amp;nbsp; These are two datasets:&lt;/P&gt;&lt;P&gt;DS1:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a&lt;/TD&gt;&lt;TD&gt;Type_b&lt;/TD&gt;&lt;TD&gt;pair&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;DS2:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a&lt;/TD&gt;&lt;TD&gt;Type_b&lt;/TD&gt;&lt;TD&gt;pair&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_15&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;We want to get the following output:&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;time&lt;/TD&gt;&lt;TD&gt;Type_a_ds1&lt;/TD&gt;&lt;TD&gt;Type_b_ds1&lt;/TD&gt;&lt;TD&gt;pair_ds1&lt;/TD&gt;&lt;TD&gt;Type_a_ds2&lt;/TD&gt;&lt;TD&gt;Type_b_ds2&lt;/TD&gt;&lt;TD&gt;pair_ds2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_6&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_9&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_12&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_15&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;time_18&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;TD&gt;0&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;Notice that the datasets might not share the same values for time. As shown for time_15 (missing in DS1) and time_12 and time_18 (missing in DS2).&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 21:29:55 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882709#M348742</guid>
      <dc:creator>ANKH1</dc:creator>
      <dc:date>2023-06-27T21:29:55Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882711#M348743</link>
      <description>&lt;P&gt;Just a few items to consider:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Why do this at all?&amp;nbsp; The data appears to be useful in its current form.&lt;/LI&gt;
&lt;LI&gt;Why keep TIME as a character variable?&amp;nbsp; It would be more useful as numeric, and would then easily sort in the right order.&lt;/LI&gt;
&lt;LI&gt;When there is no measurement (such as time_15 in DS1), why change missing values to a zero?&amp;nbsp; Zero is a perfectly good measurement on other observations, so why use that to represent a missing value?&lt;/LI&gt;
&lt;/OL&gt;</description>
      <pubDate>Tue, 27 Jun 2023 21:48:19 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882711#M348743</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2023-06-27T21:48:19Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882715#M348745</link>
      <description>&lt;P&gt;Thanks for your comments. How do you change time from character to numeric for it to sort? Ok, for the using "." instead of 0.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 21:52:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882715#M348745</guid>
      <dc:creator>ANKH1</dc:creator>
      <dc:date>2023-06-27T21:52:43Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882718#M348747</link>
      <description>&lt;P&gt;Changing TIME to numeric:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data new_ds1;
   set ds1;
   numtime = input(substr(time, 6), 3.);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;SUBSTR will start with the 6th character, and capture all remaining characters.&amp;nbsp; INPUT converts character to numeric (here, and also in most cases).&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 22:08:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882718#M348747</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2023-06-27T22:08:41Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882719#M348748</link>
      <description>&lt;P&gt;Thanks. Do you have any suggestions about the merging of the two datasets to get the desired output?&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2023 22:12:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882719#M348748</guid>
      <dc:creator>ANKH1</dc:creator>
      <dc:date>2023-06-27T22:12:23Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882720#M348749</link>
      <description>Transpose each data set to a long data set instead. &lt;BR /&gt;Stack the datasets together adding the dataset names using the INDSNAME option. &lt;BR /&gt;Transpose back to wide, if necessary using the original variable name + datasetname to uniquely identify each  column.</description>
      <pubDate>Tue, 27 Jun 2023 22:21:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882720#M348749</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2023-06-27T22:21:20Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882723#M348751</link>
      <description>&lt;P&gt;Generally a long form with a variable indicating the difference, i.e this record from set1 or set2 is quite often much more flexible.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you really need to then the "trick" is to rename the variables with dataset options. Dummy code for generic response:&lt;/P&gt;
&lt;PRE&gt;data want;
   set 
      ds1 (rename=(type_a=type_a_ds1 type_b=type_b_ds1 pair=pair_ds1))
      ds2 (rename=(type_a=type_a_ds2 type_b=type_b_ds2 pair=pair_ds2))
   ;
   by time;
run;&lt;/PRE&gt;
&lt;P&gt;The rename as a data set option is done before the data is combined.&lt;/P&gt;
&lt;P&gt;And that Time variable better sort properly...&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2023 00:05:25 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882723#M348751</guid>
      <dc:creator>ballardw</dc:creator>
      <dc:date>2023-06-28T00:05:25Z</dc:date>
    </item>
    <item>
      <title>Re: Merge datasets with same variables, adding variables horizontally</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882725#M348753</link>
      <description>&lt;P&gt;Thanks! I used "rename".&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jun 2023 00:34:35 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Merge-datasets-with-same-variables-adding-variables-horizontally/m-p/882725#M348753</guid>
      <dc:creator>ANKH1</dc:creator>
      <dc:date>2023-06-28T00:34:35Z</dc:date>
    </item>
  </channel>
</rss>

