<?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: Join as of 4 different dates in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257980#M49604</link>
    <description>&lt;P&gt;I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13674"&gt;@LinusH﻿&lt;/a&gt;, your first dataset looks odd. &amp;nbsp;I haven't time as leaving now, but re-arrange your code so that "data" items are in columns, this will make your life much easier:&lt;/P&gt;
&lt;P&gt;ID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;YEAR &amp;nbsp; &amp;nbsp; &amp;nbsp;LINK&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2009 &amp;nbsp; &amp;nbsp; &amp;nbsp; 123&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2010 &amp;nbsp; &amp;nbsp; &amp;nbsp; 123&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Its never a good idea to put "data" in column names.&lt;/P&gt;</description>
    <pubDate>Mon, 21 Mar 2016 15:19:33 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2016-03-21T15:19:33Z</dc:date>
    <item>
      <title>Join as of 4 different dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257967#M49595</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a dataset at the person level that has ID and yearly values of a secondary ID that link to Dataset 2:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset 1:&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp; Dataset2_ID_2009&amp;nbsp; &amp;nbsp; &amp;nbsp;Dataset2_ID_2010 &amp;nbsp; &amp;nbsp; &amp;nbsp;Dataset2_ID_2011&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;234&lt;/P&gt;&lt;P&gt;2 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;456&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As you can see, the secondary ID can be missing in a given year, and can either change or stay the same from year to year.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset 2 has the Dataset2 IDs in rows with a start and end date, as well as two categorical vars that are true as of the start and end dates:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset 2:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Dataset_2_ID &amp;nbsp; &amp;nbsp; &amp;nbsp; Start_dt &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; End_dt &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Categ_var1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Categ_var2&lt;/P&gt;&lt;P&gt;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1/3/2000 &amp;nbsp; &amp;nbsp; &amp;nbsp; 10/02/2012 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def&lt;/P&gt;&lt;P&gt;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2/5/2013 &amp;nbsp; &amp;nbsp; &amp;nbsp; 12/01/2013 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ghi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jkl&lt;/P&gt;&lt;P&gt;234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 7/1/2001 &amp;nbsp; &amp;nbsp; &amp;nbsp; 9/3/2012 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def&lt;/P&gt;&lt;P&gt;456 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 9/3/2001 &amp;nbsp; &amp;nbsp; &amp;nbsp; 4/5/2003 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ghi &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jkl&lt;/P&gt;&lt;P&gt;456 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;8/7/2010 &amp;nbsp; &amp;nbsp; &amp;nbsp; 5/17/2014 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mno &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pqr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;What I want is to keep the form of Dataset 1 but pull in the value of Categ_var1 and Categ_var2 as of January 1st of the year of Dataset_2_ID (for all years), like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Final dataset:&lt;/P&gt;&lt;P&gt;ID &amp;nbsp; &amp;nbsp; Dataset2_ID_2009 &amp;nbsp; Categ_var_1_2009 &amp;nbsp;Categ_var_2_2009 &amp;nbsp; &amp;nbsp;Dataset2_ID_2010 &amp;nbsp; Categ_var_1_2010 &amp;nbsp;Categ_var_2_2010 &amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;abc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;123 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;abc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; def&lt;/P&gt;&lt;P&gt;(first row continued)&lt;/P&gt;&lt;P&gt;Dataset2_ID_2011 &amp;nbsp; &amp;nbsp;Categ_var_1_2011 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Categ_var_2_2011&lt;/P&gt;&lt;P&gt;234 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; abc &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;def&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I know how to do this the long way by splitting Dataset 1 into yearly cohorts and doing a join for each year, but I'm hoping that there is a way to do it with fewer steps.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any help is much appreciated.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Mar 2016 14:37:05 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257967#M49595</guid>
      <dc:creator>Walternate</dc:creator>
      <dc:date>2016-03-21T14:37:05Z</dc:date>
    </item>
    <item>
      <title>Re: Join as of 4 different dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257977#M49601</link>
      <description>Dataset1 has  bit  odd layout. And I'm a bit disturb about dataset 2 id value 234 repeats between different dataset 1 id's..? &lt;BR /&gt;Assuming the your yearly cohorts are defined by the dataset 2 id's in dataset1.&lt;BR /&gt;And, having data in wide format almost always complicates stuff. Transpose dataset1 and the it's a matter of a simple join operation.</description>
      <pubDate>Mon, 21 Mar 2016 15:06:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257977#M49601</guid>
      <dc:creator>LinusH</dc:creator>
      <dc:date>2016-03-21T15:06:23Z</dc:date>
    </item>
    <item>
      <title>Re: Join as of 4 different dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257980#M49604</link>
      <description>&lt;P&gt;I agree with&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/13674"&gt;@LinusH﻿&lt;/a&gt;, your first dataset looks odd. &amp;nbsp;I haven't time as leaving now, but re-arrange your code so that "data" items are in columns, this will make your life much easier:&lt;/P&gt;
&lt;P&gt;ID &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;YEAR &amp;nbsp; &amp;nbsp; &amp;nbsp;LINK&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2009 &amp;nbsp; &amp;nbsp; &amp;nbsp; 123&lt;/P&gt;
&lt;P&gt;1 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;2010 &amp;nbsp; &amp;nbsp; &amp;nbsp; 123&lt;/P&gt;
&lt;P&gt;...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Its never a good idea to put "data" in column names.&lt;/P&gt;</description>
      <pubDate>Mon, 21 Mar 2016 15:19:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/257980#M49604</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2016-03-21T15:19:33Z</dc:date>
    </item>
    <item>
      <title>Re: Join as of 4 different dates</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/258018#M49616</link>
      <description>&lt;P&gt;You could transpose the first data set, join, and then re-transpose. The following code is not complete but should get you going in the right direction.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;proc transpose data=work.one out=transone;&lt;BR /&gt; id id;&lt;BR /&gt; var Dataset2_ID_2009 Dataset2_ID_2010 Dataset2_ID_2011;&lt;BR /&gt;run;&lt;BR /&gt;data transone2 (drop=_name_);&lt;BR /&gt; set transone;&lt;BR /&gt; _name_ = substr(right(_name_), 13, 4);&lt;BR /&gt; year=input(_name_, 4.);&lt;BR /&gt;run;&lt;/P&gt;
&lt;P&gt;proc sql;&lt;BR /&gt; select * &lt;BR /&gt; from transone2, two&lt;BR /&gt; where year between year(start_dt) and year(end_dt);&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Mon, 21 Mar 2016 16:53:56 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Join-as-of-4-different-dates/m-p/258018#M49616</guid>
      <dc:creator>mbuchecker</dc:creator>
      <dc:date>2016-03-21T16:53:56Z</dc:date>
    </item>
  </channel>
</rss>

