<?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: Self Join Issue in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/483076#M286934</link>
    <description>&lt;P&gt;Thank you so much!&lt;/P&gt;</description>
    <pubDate>Wed, 01 Aug 2018 14:06:43 GMT</pubDate>
    <dc:creator>agosawi</dc:creator>
    <dc:date>2018-08-01T14:06:43Z</dc:date>
    <item>
      <title>Self Join Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/482944#M286932</link>
      <description>&lt;P&gt;Dear SAS Users,&lt;/P&gt;&lt;P&gt;I have this below table.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;Old Account Number&lt;/TD&gt;&lt;TD&gt;New Account Number&lt;/TD&gt;&lt;TD&gt;Date&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;20180630&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;20180731&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;20180731&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;20180731&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;20180731&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Table contains both old and new account numbers.&lt;/P&gt;&lt;P&gt;New account numbers gets assigned whenever old gets transferred.&lt;/P&gt;&lt;P&gt;I want to select all those records where particular account transferred atleast 4 times in given month.&lt;BR /&gt;In above example I want to select all the rows from 2 for 20180731.&lt;BR /&gt;&lt;BR /&gt;I tried using self joins but unfortunately it didn't work.&lt;/P&gt;&lt;P&gt;I found most difficult part is extracting only count of transfer ge 4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will really appreciate your help.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 31 Jul 2018 21:18:09 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/482944#M286932</guid>
      <dc:creator>agosawi</dc:creator>
      <dc:date>2018-07-31T21:18:09Z</dc:date>
    </item>
    <item>
      <title>Re: Self Join Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/482953#M286933</link>
      <description>&lt;P&gt;Not&amp;nbsp;very elegant, but easy to understand:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data HAVE;
 input OLD NEW ;
 cards;
1 .
1 2
2 3
3 4
4 5
5 6
7 8
9 10
11 12
run;
proc sql; 
 create table FOUR_PLUS_TRANSFER_HISTORY as
 select h1.OLD as OLD1
      , h2.OLD as OLD2
      , h3.OLD as OLD3
      , h4.OLD as OLD4
      , h4.NEW AS NEW5
 from HAVE h1
        inner join
      HAVE h2
        on h1.NEW=h2.OLD
        inner join
      HAVE h3
        on h2.NEW=h3.OLD
        inner join
      HAVE h4
        on h3.NEW=h4.OLD
 where h4.NEW ne .;

 create table WANT as
 select unique HAVE.* 
 from HAVE 
     ,FOUR_PLUS_TRANSFER_HISTORY
 where OLD = OLD1 
    or OLD = OLD2 
    or OLD = OLD3 
    or OLD = OLD4 ;

quit;
&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="branch"&gt;
&lt;DIV&gt;
&lt;DIV align="center"&gt;
&lt;TABLE class="table" summary="Procedure SQL: Query Results" frame="box" rules="all" cellspacing="0" cellpadding="5"&gt;&lt;COLGROUP&gt; &lt;COL /&gt; &lt;COL /&gt;&lt;/COLGROUP&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH class="r b header" scope="col"&gt;OLD&lt;/TH&gt;
&lt;TH class="r b header" scope="col"&gt;NEW&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;.&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;1&lt;/TD&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;2&lt;/TD&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;3&lt;/TD&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;4&lt;/TD&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class="r data"&gt;5&lt;/TD&gt;
&lt;TD class="r data"&gt;6&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 31 Jul 2018 21:44:30 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/482953#M286933</guid>
      <dc:creator>ChrisNZ</dc:creator>
      <dc:date>2018-07-31T21:44:30Z</dc:date>
    </item>
    <item>
      <title>Re: Self Join Issue</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/483076#M286934</link>
      <description>&lt;P&gt;Thank you so much!&lt;/P&gt;</description>
      <pubDate>Wed, 01 Aug 2018 14:06:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Self-Join-Issue/m-p/483076#M286934</guid>
      <dc:creator>agosawi</dc:creator>
      <dc:date>2018-08-01T14:06:43Z</dc:date>
    </item>
  </channel>
</rss>

