<?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: Joining across different datasets to create a shifted dataset in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372962#M276167</link>
    <description>&lt;P&gt;Thats not a join then, its a transpose. &amp;nbsp;Post test data in the form of a datastep to get working code (its probably been mentioned several times before), as such this code is just an un-tested guess:&lt;/P&gt;
&lt;PRE&gt;proc transpose data=datab out=datab_t;
  by refer_id;
  var role;
  id role;
run;

proc sort data=dataa nodupkey;
  by refer_id person;
run;

data want;
  merge dataa datab;
  by refer_id;
run;&lt;/PRE&gt;
&lt;P&gt;Not sure what value there is in creating a whole set of cells with the same data though, the table c just seems to bloat the data to my mind.&lt;/P&gt;</description>
    <pubDate>Tue, 04 Jul 2017 10:27:49 GMT</pubDate>
    <dc:creator>RW9</dc:creator>
    <dc:date>2017-07-04T10:27:49Z</dc:date>
    <item>
      <title>Joining across different datasets to create a shifted dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372959#M276165</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have two datasets a and b &amp;nbsp;that need t o be joined in a peculiar way to create dataset c&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The&amp;nbsp;common link for dataset a and b &amp;nbsp;is the Refer_ID&lt;/P&gt;&lt;P&gt;Each refer_ID can only appear once, therefore, in a) the Refer_ID is recuced to 1 and 2 with Song_1 and Song_2&lt;/P&gt;&lt;P&gt;Then dataset b)&amp;nbsp;needs to join in there, whereby I may have some&amp;nbsp;left joins to create a new column for&lt;/P&gt;&lt;TABLE border="0" cellspacing="0" cellpadding="0"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;TD&gt;Role_3&lt;/TD&gt;&lt;TD&gt;Role_4&lt;/TD&gt;&lt;TD&gt;Role_5&lt;/TD&gt;&lt;TD&gt;Role_6&lt;/TD&gt;&lt;TD&gt;Role_7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;as shownbelow in c) basically shift there Role_2 to Role_7 across &amp;nbsp;and along in line with the Refer_ID it belongs to.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can this be archievedd? Many thanks!&lt;/P&gt;&lt;P&gt;&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;a&lt;/TD&gt;&lt;TD&gt;Refer_ID&lt;/TD&gt;&lt;TD&gt;Person&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Song_1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Song_1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Song_1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&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;b&lt;/TD&gt;&lt;TD&gt;Refer_ID&lt;/TD&gt;&lt;TD&gt;Role&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Role_1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Role_3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_1&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_3&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_4&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_5&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Role_7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&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;c&lt;/TD&gt;&lt;TD&gt;Refer_ID&lt;/TD&gt;&lt;TD&gt;Person&lt;/TD&gt;&lt;TD&gt;Role&lt;/TD&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;TD&gt;Role_3&lt;/TD&gt;&lt;TD&gt;Role_4&lt;/TD&gt;&lt;TD&gt;Role_5&lt;/TD&gt;&lt;TD&gt;Role_6&lt;/TD&gt;&lt;TD&gt;Role_7&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;Song_1&lt;/TD&gt;&lt;TD&gt;Role_1&lt;/TD&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;TD&gt;Role_3&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;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;Song_2&lt;/TD&gt;&lt;TD&gt;Role_1&lt;/TD&gt;&lt;TD&gt;Role_2&lt;/TD&gt;&lt;TD&gt;Role_3&lt;/TD&gt;&lt;TD&gt;Role_4&lt;/TD&gt;&lt;TD&gt;Role_5&lt;/TD&gt;&lt;TD&gt;Role_6&lt;/TD&gt;&lt;TD&gt;Role_7&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 04 Jul 2017 10:09:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372959#M276165</guid>
      <dc:creator>AnnaNZ</dc:creator>
      <dc:date>2017-07-04T10:09:41Z</dc:date>
    </item>
    <item>
      <title>Re: Joining across different datasets to create a shifted dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372961#M276166</link>
      <description>&lt;P&gt;Something like this?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; person;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;8&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; person $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;32&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id person;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;1 Song_1&lt;/P&gt;
&lt;P&gt;1 Song_1&lt;/P&gt;
&lt;P&gt;1 Song_1&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;2 Song_2&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; role;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;length&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id &lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;8&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt; role $&lt;/FONT&gt;&lt;STRONG&gt;&lt;FONT color="#008080" face="Courier New" size="3"&gt;32&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;input&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id role;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;datalines&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;1 Role_1&lt;/P&gt;
&lt;P&gt;1 Role_2&lt;/P&gt;
&lt;P&gt;1 Role_3&lt;/P&gt;
&lt;P&gt;2 Role_1&lt;/P&gt;
&lt;P&gt;2 Role_2&lt;/P&gt;
&lt;P&gt;2 Role_3&lt;/P&gt;
&lt;P&gt;2 Role_4&lt;/P&gt;
&lt;P&gt;2 Role_5&lt;/P&gt;
&lt;P&gt;2 Role_6&lt;/P&gt;
&lt;P&gt;2 Role_7&lt;/P&gt;
&lt;P&gt;;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;run&lt;/FONT&gt;&lt;/STRONG&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;proc&lt;/FONT&gt;&lt;/STRONG&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;sort&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;data&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=person &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;nodupkey&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id person;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;proc&lt;/STRONG&gt;&lt;/FONT&gt; &lt;STRONG&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;transpose&lt;/FONT&gt;&lt;/STRONG&gt; &lt;FONT color="#0000ff" face="Courier New" size="3"&gt;data&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=role &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;out&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=role_t(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;drop&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;=_name_);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;id&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; role;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;var&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; role;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; one;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;merge&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; person role_t;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#0000ff" face="Courier New" size="3"&gt;by&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt; refer_id;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color="#000080" face="Courier New" size="3"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face="Courier New" size="3"&gt;;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jul 2017 10:27:23 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372961#M276166</guid>
      <dc:creator>FredrikE</dc:creator>
      <dc:date>2017-07-04T10:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: Joining across different datasets to create a shifted dataset</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372962#M276167</link>
      <description>&lt;P&gt;Thats not a join then, its a transpose. &amp;nbsp;Post test data in the form of a datastep to get working code (its probably been mentioned several times before), as such this code is just an un-tested guess:&lt;/P&gt;
&lt;PRE&gt;proc transpose data=datab out=datab_t;
  by refer_id;
  var role;
  id role;
run;

proc sort data=dataa nodupkey;
  by refer_id person;
run;

data want;
  merge dataa datab;
  by refer_id;
run;&lt;/PRE&gt;
&lt;P&gt;Not sure what value there is in creating a whole set of cells with the same data though, the table c just seems to bloat the data to my mind.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jul 2017 10:27:49 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Joining-across-different-datasets-to-create-a-shifted-dataset/m-p/372962#M276167</guid>
      <dc:creator>RW9</dc:creator>
      <dc:date>2017-07-04T10:27:49Z</dc:date>
    </item>
  </channel>
</rss>

