<?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: Vertical joining in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504929#M135194</link>
    <description>&lt;P&gt;A simple approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set data1 (in=in_data1) data2;&lt;/P&gt;
&lt;P&gt;by id year;&lt;/P&gt;
&lt;P&gt;if first.id then keepme = in_data1;&lt;/P&gt;
&lt;P&gt;retain keepme;&lt;/P&gt;
&lt;P&gt;if keepme;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your incoming data sets both need to be sorted by ID YEAR for this to work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, this approach relies on DATA1 containing data for the earliest year, and DATA2 containing data for later years.&lt;/P&gt;</description>
    <pubDate>Tue, 16 Oct 2018 22:35:24 GMT</pubDate>
    <dc:creator>Astounding</dc:creator>
    <dc:date>2018-10-16T22:35:24Z</dc:date>
    <item>
      <title>Vertical joining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504927#M135192</link>
      <description>&lt;P&gt;I wonder how I can vertically join two tables based on the information of one table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So, here are two tables.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;data1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;v1&lt;/TD&gt;&lt;TD&gt;v2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2003&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;/TR&gt;&lt;TR&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;data2&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;v1&lt;/TD&gt;&lt;TD&gt;v2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;&lt;P&gt;2&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;I only want additional information from data 2 about id 1 and 2 who are in data1. Thus, the expected outcome is below. could you please help me? thanks so much..&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;year&lt;/TD&gt;&lt;TD&gt;id&lt;/TD&gt;&lt;TD&gt;v1&lt;/TD&gt;&lt;TD&gt;v2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2003&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;/TR&gt;&lt;TR&gt;&lt;TD&gt;2002&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2003&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2004&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2005&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2006&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried following codes.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table clean as select *&lt;BR /&gt;from&amp;nbsp;data1 except select * from data2 &amp;nbsp;group by year, id; quit;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;but it doesn't produce what I want..&lt;/P&gt;</description>
      <pubDate>Tue, 16 Oct 2018 22:32:13 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504927#M135192</guid>
      <dc:creator>asinusdk</dc:creator>
      <dc:date>2018-10-16T22:32:13Z</dc:date>
    </item>
    <item>
      <title>Re: Vertical joining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504929#M135194</link>
      <description>&lt;P&gt;A simple approach:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;data want;&lt;/P&gt;
&lt;P&gt;set data1 (in=in_data1) data2;&lt;/P&gt;
&lt;P&gt;by id year;&lt;/P&gt;
&lt;P&gt;if first.id then keepme = in_data1;&lt;/P&gt;
&lt;P&gt;retain keepme;&lt;/P&gt;
&lt;P&gt;if keepme;&lt;/P&gt;
&lt;P&gt;run;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your incoming data sets both need to be sorted by ID YEAR for this to work.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Also, this approach relies on DATA1 containing data for the earliest year, and DATA2 containing data for later years.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Oct 2018 22:35:24 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504929#M135194</guid>
      <dc:creator>Astounding</dc:creator>
      <dc:date>2018-10-16T22:35:24Z</dc:date>
    </item>
    <item>
      <title>Re: Vertical joining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504930#M135195</link>
      <description>&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data one;
input year	id	v1	v2;
cards;
2002	1	3	3
2003	1	1	2
2002	2	1	2
2003	2	1	3
;

data two;
input year	id	v1	v2;
cards;
2004	2	1	3
2005	2	1	2
2006	2	2	4
2004	3	2	4
2005	3	1	2
2006	3	4	2
;
proc sql;
create table want as

   (select * from one)
   union
   (select * from two
   where id in (select id from one)
         )
order by id;
quit;&lt;/CODE&gt;&lt;/PRE&gt;</description>
      <pubDate>Tue, 16 Oct 2018 22:34:22 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504930#M135195</guid>
      <dc:creator>novinosrin</dc:creator>
      <dc:date>2018-10-16T22:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: Vertical joining</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504932#M135197</link>
      <description>&lt;P&gt;Thank you very much. It helps me to figure out &lt;span class="lia-unicode-emoji" title=":slightly_smiling_face:"&gt;🙂&lt;/span&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Oct 2018 22:40:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Vertical-joining/m-p/504932#M135197</guid>
      <dc:creator>asinusdk</dc:creator>
      <dc:date>2018-10-16T22:40:05Z</dc:date>
    </item>
  </channel>
</rss>

