<?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: create common group id for  multiple link id's in New SAS User</title>
    <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555328#M9654</link>
    <description>&lt;P&gt;I have followed this thread. I was thinking and thinking to get your RULE to link elements of the two columns. Your solution is very circuitous to get your logic. Can you tell your rule in getting the last 2 ROWS as in the expected output shown below? Probably your solution may be simplified using arrays.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Output:

 

p1	p2	p3	p4	p5 	p6
9528	9534	9056	 	 	 
7002	7001	7005	7009	 	 
8675	7890	87677	 	 	 
5422	22333	78878	21121	787999	3422&lt;/PRE&gt;</description>
    <pubDate>Wed, 01 May 2019 11:26:11 GMT</pubDate>
    <dc:creator>KachiM</dc:creator>
    <dc:date>2019-05-01T11:26:11Z</dc:date>
    <item>
      <title>create common group id for  multiple link id's</title>
      <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555054#M9597</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have struck with following problem. I have two columns in the data parent id and link id. I need to link between all the id's&amp;nbsp; as shown in the output. so that I can create unique id for all those linked id's.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data have;&lt;/P&gt;&lt;P&gt;infile cards dlm=',';&lt;/P&gt;&lt;P&gt;input parent_id link_id;&lt;/P&gt;&lt;P&gt;cards;&lt;/P&gt;&lt;P&gt;9528,9534&lt;BR /&gt;9534,9056&lt;BR /&gt;8675,7890&lt;BR /&gt;8675,87677&lt;BR /&gt;7002,7001&lt;BR /&gt;7001,7005&lt;BR /&gt;7009,7005&lt;BR /&gt;5422,22333&lt;BR /&gt;78878,21121&lt;BR /&gt;21121,787999&lt;BR /&gt;787999,3422&lt;/P&gt;&lt;P&gt;;run;&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;Parent id&lt;/TD&gt;&lt;TD&gt;Link id&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9528&lt;/TD&gt;&lt;TD&gt;9534&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9534&lt;/TD&gt;&lt;TD&gt;9056&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8675&lt;/TD&gt;&lt;TD&gt;7890&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;8675&lt;/TD&gt;&lt;TD&gt;87677&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7002&lt;/TD&gt;&lt;TD&gt;7001&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7001&lt;/TD&gt;&lt;TD&gt;7005&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;7009&lt;/TD&gt;&lt;TD&gt;7005&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;5422&lt;/TD&gt;&lt;TD&gt;22333&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;78878&lt;/TD&gt;&lt;TD&gt;21121&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;21121&lt;/TD&gt;&lt;TD&gt;787999&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;787999&lt;/TD&gt;&lt;TD&gt;3422&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;P&gt;Output:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;p1&lt;/TD&gt;&lt;TD&gt;p2&lt;/TD&gt;&lt;TD&gt;p3&lt;/TD&gt;&lt;TD&gt;p4&lt;/TD&gt;&lt;TD&gt;p5&amp;nbsp;&lt;/TD&gt;&lt;TD&gt;p6&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;9528&lt;/TD&gt;&lt;TD&gt;9534&lt;/TD&gt;&lt;TD&gt;9056&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;7002&lt;/TD&gt;&lt;TD&gt;7001&lt;/TD&gt;&lt;TD&gt;7005&lt;/TD&gt;&lt;TD&gt;7009&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;8675&lt;/TD&gt;&lt;TD&gt;7890&lt;/TD&gt;&lt;TD&gt;87677&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;5422&lt;/TD&gt;&lt;TD&gt;22333&lt;/TD&gt;&lt;TD&gt;78878&lt;/TD&gt;&lt;TD&gt;21121&lt;/TD&gt;&lt;TD&gt;787999&lt;/TD&gt;&lt;TD&gt;3422&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;</description>
      <pubDate>Tue, 30 Apr 2019 14:18:43 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555054#M9597</guid>
      <dc:creator>Bharath_aavas</dc:creator>
      <dc:date>2019-04-30T14:18:43Z</dc:date>
    </item>
    <item>
      <title>Re: create common group id for  multiple link id's</title>
      <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555180#M9613</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/214841"&gt;@Bharath_aavas&lt;/a&gt;&amp;nbsp;and welcome to the SAS Support Communities!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;I remember to have seen similar questions before in this forum. One example which might fit quite well and for which different solutions have been posted (including one by the famous Paul Dorfman ["hashman"]!) can be found here:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://communities.sas.com/t5/SAS-Programming/Get-ancestors-for-each-children/m-p/490584" target="_blank" rel="noopener"&gt;https://communities.sas.com/t5/SAS-Programming/Get-ancestors-for-each-children/m-p/490584&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 30 Apr 2019 19:05:00 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555180#M9613</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2019-04-30T19:05:00Z</dc:date>
    </item>
    <item>
      <title>Re: create common group id for  multiple link id's</title>
      <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555314#M9652</link>
      <description>&lt;P&gt;I have completed the task finally and the solution is as below, it might be helpful to someone.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank for your rime.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data cr_link_loan_dtl;&lt;BR /&gt;infile cards dlm='09'x;&lt;BR /&gt;input p1 p2;&lt;BR /&gt;cards;&lt;BR /&gt;9528 9534&lt;BR /&gt;9534 9056&lt;BR /&gt;8675 7890&lt;BR /&gt;8675 87677&lt;BR /&gt;7002 7001&lt;BR /&gt;7001 7005&lt;BR /&gt;7005 7009&lt;BR /&gt;5422 22333&lt;BR /&gt;22333 78878&lt;BR /&gt;78878 21121&lt;BR /&gt;21121 787999&lt;BR /&gt;787999 3422&lt;BR /&gt;;run;&lt;BR /&gt;proc sort data=cr_link_loan_dtl out=link_mt_2_loans nodupkey;&lt;BR /&gt;by p1 p2;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data link_mt_2_loans1;&lt;BR /&gt;set link_mt_2_loans;&lt;BR /&gt;if first.p1 then x=0;&lt;BR /&gt;x+1;&lt;BR /&gt;by p1;&lt;BR /&gt;run;&lt;BR /&gt;proc transpose data=link_mt_2_loans1&lt;BR /&gt;out=link_mt_2_loans2(drop=_name_) prefix=Loan_;&lt;BR /&gt;by p1;&lt;BR /&gt;id x;&lt;BR /&gt;var p2;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;data link_mt_2_loans3;&lt;BR /&gt;retain x1 10000000;&lt;BR /&gt;set link_mt_2_loans2;&lt;BR /&gt;x=N(of _all_);&lt;BR /&gt;x1+1;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;%macro test(input,output);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data _temp_data;&lt;BR /&gt;set &amp;amp;input.(keep=p1 x1 rename=(p1=loan))&lt;BR /&gt;&amp;amp;input.(keep=Loan_1 x1 rename=(loan_1=loan))&lt;BR /&gt;&amp;amp;input.(keep=Loan_2 x1 rename=(loan_2=loan))&lt;BR /&gt;;&lt;BR /&gt;if loan=. then delete;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE WORK._temp_data1 AS&lt;BR /&gt;SELECT t1.loan,&lt;BR /&gt;/* MIN_of_x1 */&lt;BR /&gt;(MIN(t1.x1)) AS MIN_of_x1&lt;BR /&gt;FROM _temp_data t1&lt;BR /&gt;GROUP BY t1.loan&lt;BR /&gt;ORDER BY MIN_of_x1;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;proc sql;&lt;BR /&gt;create table &amp;amp;output. as&lt;BR /&gt;select&lt;BR /&gt;a.p1,&lt;BR /&gt;a.Loan_1,&lt;BR /&gt;a.Loan_2,&lt;BR /&gt;a.x,min(a.x1,b.MIN_of_x1,c.MIN_of_x1,d.MIN_of_x1&lt;BR /&gt;) as x1&lt;BR /&gt;from &amp;amp;input. as a&lt;BR /&gt;left join _temp_data1 as b on a.p1=b.loan&lt;BR /&gt;left join _temp_data1 as c on a.loan_1=c.loan&lt;BR /&gt;left join _temp_data1 as d on a.loan_2=d.loan&lt;BR /&gt;;quit;&lt;/P&gt;&lt;P&gt;%mend;&lt;BR /&gt;%test(link_mt_2_loans3,link_mt_2_loans3_u1);&lt;BR /&gt;%test(link_mt_2_loans3_u1,link_mt_2_loans3_u2);&lt;BR /&gt;%test(link_mt_2_loans3_u2,link_mt_2_loans3_u3);&lt;BR /&gt;%test(link_mt_2_loans3_u3,link_mt_2_loans3_u4);&lt;BR /&gt;%test(link_mt_2_loans3_u4,link_mt_2_loans3_1);&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;data link_mt_2_loans4_1;&lt;BR /&gt;set link_mt_2_loans3_1(keep=p1 x1 rename=(p1=loan))&lt;BR /&gt;link_mt_2_loans3_1(keep=Loan_1 x1 rename=(loan_1=loan))&lt;BR /&gt;link_mt_2_loans3_1(keep=Loan_2 x1 rename=(loan_2=loan))&lt;BR /&gt;;&lt;BR /&gt;if loan=. then delete;&lt;BR /&gt;run;&lt;/P&gt;&lt;P&gt;PROC SQL;&lt;BR /&gt;CREATE TABLE WORK.QUERY_FOR_LINK_MT_2_LOANS4_1 AS&lt;BR /&gt;SELECT t1.loan,&lt;BR /&gt;/* MIN_of_x1 */&lt;BR /&gt;(MIN(t1.x1)) AS group_id&lt;BR /&gt;FROM WORK.LINK_MT_2_LOANS4_1 t1&lt;BR /&gt;GROUP BY t1.loan&lt;BR /&gt;ORDER BY group_id,loan;&lt;BR /&gt;QUIT;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data QUERY_FOR_LINK_MT_2_LOANS4_2;&lt;BR /&gt;set QUERY_FOR_LINK_MT_2_LOANS4_1;&lt;/P&gt;&lt;P&gt;if first.group_id then x=0;&lt;BR /&gt;x+1;&lt;BR /&gt;by group_id;&lt;BR /&gt;run;&lt;BR /&gt;proc transpose data=QUERY_FOR_LINK_MT_2_LOANS4_2&lt;BR /&gt;out=final_output(drop=_name_) prefix=Loan_;&lt;BR /&gt;by group_id;&lt;BR /&gt;id x;&lt;BR /&gt;var loan;&lt;BR /&gt;run;&lt;/P&gt;</description>
      <pubDate>Wed, 01 May 2019 09:41:37 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555314#M9652</guid>
      <dc:creator>Bharath_aavas</dc:creator>
      <dc:date>2019-05-01T09:41:37Z</dc:date>
    </item>
    <item>
      <title>Re: create common group id for  multiple link id's</title>
      <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555328#M9654</link>
      <description>&lt;P&gt;I have followed this thread. I was thinking and thinking to get your RULE to link elements of the two columns. Your solution is very circuitous to get your logic. Can you tell your rule in getting the last 2 ROWS as in the expected output shown below? Probably your solution may be simplified using arrays.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;Output:

 

p1	p2	p3	p4	p5 	p6
9528	9534	9056	 	 	 
7002	7001	7005	7009	 	 
8675	7890	87677	 	 	 
5422	22333	78878	21121	787999	3422&lt;/PRE&gt;</description>
      <pubDate>Wed, 01 May 2019 11:26:11 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555328#M9654</guid>
      <dc:creator>KachiM</dc:creator>
      <dc:date>2019-05-01T11:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: create common group id for  multiple link id's</title>
      <link>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555341#M9656</link>
      <description>&lt;P&gt;Thank you very much for your time on replying to my post.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My requirement to Link of Customer IDs and create one unique id to all the linked customers.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;data cr_link_loan_dtl;&lt;BR /&gt;infile cards dlm='09'x;&lt;BR /&gt;input p1 p2;&lt;BR /&gt;cards;&lt;BR /&gt;9528 9534&lt;BR /&gt;9534 9056&lt;BR /&gt;8675 7890&lt;BR /&gt;8675 87677&lt;BR /&gt;7002 7001&lt;BR /&gt;7001 7005&lt;BR /&gt;7005 7009&lt;BR /&gt;5422 22333&lt;BR /&gt;22333 78878&lt;BR /&gt;78878 21121&lt;BR /&gt;21121 787999&lt;BR /&gt;787999 3422&lt;BR /&gt;1 2&lt;BR /&gt;1 3&lt;BR /&gt;1 4&lt;BR /&gt;1 11&lt;BR /&gt;5 7&lt;BR /&gt;6 7&lt;BR /&gt;8 7&lt;BR /&gt;;run;&lt;/P&gt;&lt;P&gt;Required Output :&lt;/P&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;STRONG&gt;group_id&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_1&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_2&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_3&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_4&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_5&lt;/STRONG&gt;&lt;/TD&gt;&lt;TD&gt;&lt;STRONG&gt;Loan_6&lt;/STRONG&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000001&lt;/TD&gt;&lt;TD&gt;1&lt;/TD&gt;&lt;TD&gt;2&lt;/TD&gt;&lt;TD&gt;3&lt;/TD&gt;&lt;TD&gt;4&lt;/TD&gt;&lt;TD&gt;11&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000002&lt;/TD&gt;&lt;TD&gt;5&lt;/TD&gt;&lt;TD&gt;6&lt;/TD&gt;&lt;TD&gt;7&lt;/TD&gt;&lt;TD&gt;8&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000005&lt;/TD&gt;&lt;TD&gt;3422&lt;/TD&gt;&lt;TD&gt;5422&lt;/TD&gt;&lt;TD&gt;21121&lt;/TD&gt;&lt;TD&gt;22333&lt;/TD&gt;&lt;TD&gt;78878&lt;/TD&gt;&lt;TD&gt;787999&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000006&lt;/TD&gt;&lt;TD&gt;7001&lt;/TD&gt;&lt;TD&gt;7002&lt;/TD&gt;&lt;TD&gt;7005&lt;/TD&gt;&lt;TD&gt;7009&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000009&lt;/TD&gt;&lt;TD&gt;7890&lt;/TD&gt;&lt;TD&gt;8675&lt;/TD&gt;&lt;TD&gt;87677&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;10000010&lt;/TD&gt;&lt;TD&gt;9056&lt;/TD&gt;&lt;TD&gt;9528&lt;/TD&gt;&lt;TD&gt;9534&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&gt;.&lt;/TD&gt;&lt;TD&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 tried to write the code using arrays but could not succeeded. my problem is solved with that technique/logic. I know which very tedious to understand. It would great learning for me to get this done on arrays.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have inserted my SAS Code and tested and it is working in all scenarios. Yet to automate for N number of level in macro this is working until 6 relation id's.&lt;/P&gt;&lt;PRE&gt;&lt;CODE class=" language-sas"&gt; 
data cr_link_loan_dtl;
infile cards dlm='09'x;
input p1 p2;
cards;
9528	9534
9534	9056
8675	7890
8675	87677
7002	7001
7001	7005
7005	7009
5422	22333
22333	78878
78878	21121
21121	787999
787999	3422
1	2
1	3
1	4
1	11
5	7
6	7
8	7
;run;
proc sort data=cr_link_loan_dtl out=link_mt_2_loans nodupkey;
by p1 p2;
run;



data link_mt_2_loans1;
set link_mt_2_loans;
if first.p1 then x=0;
x+1;
by p1;
run;
proc transpose data=link_mt_2_loans1 
  out=link_mt_2_loans2(drop=_name_) prefix=Loan_;
by p1;
id x;
var p2;
run;

data link_mt_2_loans3;
retain x1 10000000;
set link_mt_2_loans2;
x=N(of _all_);
x1+1;
run;

%macro test(input,output);


data _temp_data;
set &amp;amp;input.(keep=p1 x1 rename=(p1=loan))
&amp;amp;input.(keep=Loan_1 x1 rename=(loan_1=loan))
&amp;amp;input.(keep=Loan_2 x1 rename=(loan_2=loan))
&amp;amp;input.(keep=Loan_3 x1 rename=(loan_3=loan))
&amp;amp;input.(keep=Loan_4 x1 rename=(loan_4=loan))
;
if loan=. then delete;
run;

PROC SQL;
   CREATE TABLE WORK._temp_data1 AS 
   SELECT t1.loan, 
          /* MIN_of_x1 */
            (MIN(t1.x1)) AS MIN_of_x1
      FROM _temp_data t1
      GROUP BY t1.loan
      ORDER BY MIN_of_x1;
QUIT;

proc sql;
create table &amp;amp;output. as 
select    a.p1, 
          a.Loan_1, 
          a.Loan_2, 
		   a.Loan_3,a.Loan_4,
          a.x,min(a.x1,b.MIN_of_x1,c.MIN_of_x1,d.MIN_of_x1,e.MIN_of_x1,f.MIN_of_x1
) as x1
from &amp;amp;input. as a 
left join _temp_data1 as b on a.p1=b.loan
left join _temp_data1 as c on a.loan_1=c.loan
left join _temp_data1 as d on a.loan_2=d.loan
left join _temp_data1 as e on a.loan_3=e.loan
left join _temp_data1 as f on a.loan_4=f.loan
;quit;

%mend;
%test(link_mt_2_loans3,link_mt_2_loans3_u1);
%test(link_mt_2_loans3_u1,link_mt_2_loans3_u2);
%test(link_mt_2_loans3_u2,link_mt_2_loans3_u3);
%test(link_mt_2_loans3_u3,link_mt_2_loans3_u4);
%test(link_mt_2_loans3_u4,link_mt_2_loans3_1);


data link_mt_2_loans4_1;
set link_mt_2_loans3_1(keep=p1 x1 rename=(p1=loan))
link_mt_2_loans3_1(keep=Loan_1 x1 rename=(loan_1=loan))
link_mt_2_loans3_1(keep=Loan_2 x1 rename=(loan_2=loan))
link_mt_2_loans3_1(keep=Loan_3 x1 rename=(loan_3=loan))
link_mt_2_loans3_1(keep=Loan_4 x1 rename=(loan_4=loan))
;
if loan=. then delete;
run;

PROC SQL;
   CREATE TABLE WORK.QUERY_FOR_LINK_MT_2_LOANS4_1 AS 
   SELECT t1.loan, 
          /* MIN_of_x1 */
            (MIN(t1.x1)) AS group_id
      FROM WORK.LINK_MT_2_LOANS4_1 t1
      GROUP BY t1.loan
      ORDER BY group_id,loan;
QUIT;



data QUERY_FOR_LINK_MT_2_LOANS4_2;
set QUERY_FOR_LINK_MT_2_LOANS4_1;

if first.group_id then x=0;
x+1;
by group_id;
run;
proc transpose data=QUERY_FOR_LINK_MT_2_LOANS4_2 
  out=final_output(drop=_name_) prefix=Loan_;
by group_id;
id x;
var loan;
run;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 01 May 2019 12:49:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/New-SAS-User/create-common-group-id-for-multiple-link-id-s/m-p/555341#M9656</guid>
      <dc:creator>Bharath_aavas</dc:creator>
      <dc:date>2019-05-01T12:49:57Z</dc:date>
    </item>
  </channel>
</rss>

