<?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: combining datasets in SAS Procedures</title>
    <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121648#M33496</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is so weird.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data have;
input ID $ X N;
datalines;
A 1 5
A 5 0
A 7 4
B 1 1
C 7 0
D 9 4
D 10 1
E 3 4
E 5 2
E 7 3
;
run;
proc sql;
create table want as
 select *
&amp;nbsp; from have
&amp;nbsp;&amp;nbsp; where n ge 1
&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; having sum(x le 5) gt 0 and sum(X gt 5) gt 0;
quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 14 Sep 2012 02:03:54 GMT</pubDate>
    <dc:creator>Ksharp</dc:creator>
    <dc:date>2012-09-14T02:03:54Z</dc:date>
    <item>
      <title>combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121642#M33490</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;SAS community,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to combine databases which includes all eligible entries from group 1 (where N ge 1 and X le 5) and group 2 (where N ge 1 and X gt 5).&amp;nbsp; At the bottom is a sample dataset and a beginning code.&amp;nbsp; The problem with my current code is that it won't include all entries for the same ID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The final dataset should be resemble the dataset below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;ID X N&lt;/P&gt;&lt;P&gt;A 1 5&lt;/P&gt;&lt;P&gt;A 7 4&lt;/P&gt;&lt;P&gt;E 3 4&lt;/P&gt;&lt;P&gt;E 5 2&lt;/P&gt;&lt;P&gt;E 7 3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;input ID $ X N;&lt;/P&gt;&lt;P&gt;datalines;&lt;/P&gt;&lt;P&gt;A 1 5&lt;/P&gt;&lt;P&gt;A 5 0&lt;/P&gt;&lt;P&gt;A 7 4&lt;/P&gt;&lt;P&gt;B 1 1&lt;/P&gt;&lt;P&gt;C 7 0&lt;/P&gt;&lt;P&gt;D 9 4&lt;/P&gt;&lt;P&gt;D 10 1&lt;/P&gt;&lt;P&gt;E 3 4&lt;/P&gt;&lt;P&gt;E 5 2&lt;/P&gt;&lt;P&gt;E 7 3&lt;/P&gt;&lt;P&gt;;;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data group_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;if N ge 1 and X le 5;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data group_2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;if N ge 1 and X gt 5;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=group_1; by ID;&lt;/P&gt;&lt;P&gt;proc sort data=group_2; by ID;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data all;&lt;/P&gt;&lt;P&gt;merge&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; area_1 (in=a)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; area_2 (in=b);&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;if a and b;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:26:20 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121642#M33490</guid>
      <dc:creator>sophia_SAS</dc:creator>
      <dc:date>2012-09-13T17:26:20Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121643#M33491</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Why isn't B included? &lt;/P&gt;&lt;P&gt;It meets the criteria for Group 1 - N Ge 1 and X LE 5&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:41:27 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121643#M33491</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-09-13T17:41:27Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121644#M33492</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Because the ID has to be in both Group 1 and Group 2 in order to be in the final dataset.&amp;nbsp; B only satisfies the criteria for group 1.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:44:39 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121644#M33492</guid>
      <dc:creator>sophia_SAS</dc:creator>
      <dc:date>2012-09-13T17:44:39Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121645#M33493</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Can you use proc sql? (not tested)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sql;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create table want as&lt;/P&gt;&lt;P&gt;select * from &lt;/P&gt;&lt;P&gt;(select * from group1 where id in (select distinct id from group2)&lt;/P&gt;&lt;P&gt;union&lt;/P&gt;&lt;P&gt;select * from group2 where id in (select distinct id from group1)) a;&lt;/P&gt;&lt;P&gt;quit;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:52:34 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121645#M33493</guid>
      <dc:creator>Reeza</dc:creator>
      <dc:date>2012-09-13T17:52:34Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121646#M33494</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think that worked!&amp;nbsp; Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 17:59:45 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121646#M33494</guid>
      <dc:creator>sophia_SAS</dc:creator>
      <dc:date>2012-09-13T17:59:45Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121647#M33495</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here's one way:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=have;&lt;/P&gt;&lt;P&gt;by id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data group_1 group_2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; set have;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if N ge 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if X le 5 then output group_1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; else output group_2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; keep id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;data want;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; merge have group_1 (in=in1) group_2 (in=in2);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by id;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; if in1 and in2;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may get messages related to a many-to-many merge, but they are harmless in this particular case.&amp;nbsp; (Most any other time, you would definitely want to investigate if you got this type of message.)&amp;nbsp; You could eliminate those messages by re-sorting group_1 and group_2 before merging:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;proc sort data=group_1 NODUPKEY;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; by id;&lt;/P&gt;&lt;P&gt;run;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But for this particular case it won't hurt to skip this because HAVE will have at least as many observations for each ID as the other two data sets have.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Good luck.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Sep 2012 18:00:26 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121647#M33495</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2012-09-13T18:00:26Z</dc:date>
    </item>
    <item>
      <title>Re: combining datasets</title>
      <link>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121648#M33496</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It is so weird.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;data have;
input ID $ X N;
datalines;
A 1 5
A 5 0
A 7 4
B 1 1
C 7 0
D 9 4
D 10 1
E 3 4
E 5 2
E 7 3
;
run;
proc sql;
create table want as
 select *
&amp;nbsp; from have
&amp;nbsp;&amp;nbsp; where n ge 1
&amp;nbsp;&amp;nbsp;&amp;nbsp; group by id
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; having sum(x le 5) gt 0 and sum(X gt 5) gt 0;
quit;

&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ksharp&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2012 02:03:54 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Procedures/combining-datasets/m-p/121648#M33496</guid>
      <dc:creator>Ksharp</dc:creator>
      <dc:date>2012-09-14T02:03:54Z</dc:date>
    </item>
  </channel>
</rss>

