BookmarkSubscribeRSS Feed
granthecht
Calcite | Level 5

I have 2 files that look like this:

 

CustID ContactID

1              1

1              2

1              3

 

CustID PlanID

1             A

1             B

1             C

 

I need to merge them in base SAS so I get the following:

 

CustID ContcatID PlanID

1                1             A

1                1             B

1                1             C

1                2             A

1                2             B

1                2             C

1                3             A

1                3             B

1                3             C

3 REPLIES 3
PhilC
Rhodochrosite | Level 12

You might lookup Cartesian Products in SAS.

PeterClemmensen
Tourmaline | Level 20

like this?

 

data one;
input CustID ContactID;
datalines;
1 1
1 2
1 3
;

data two;
input CustID PlanID$;
datalines;
1 A
1 B
1 C
;

proc sql;
	create table want as
	select one.*
	      ,two.planID
	from one, two
	where one.CustID=two.CustID
	order by CustID, ContactID, planID;
quit;
Yavuz
Quartz | Level 8
You can also use "inner join" or "left join" clauses with proc sql

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 3 replies
  • 1627 views
  • 0 likes
  • 4 in conversation