Hi all,
I have a dataset of ds1.
data ds1;
infile datalines;
input name1 $ name2 $;
datalines;
G A
A B
I C
B D
;
RUN;
I need output like
NAME1 NAME2
G A
A A
I A
B A
G B
A B
I B
B B
G C
A C
I C
B C
G D
A D
I D
B D
I follow in proc sql cartesian join but this output not getting.
Can anyone suggest how it can be done.
Thanks in advance.
proc sql;
create table ds_final as
select a.name2, b.name1 from ds1 a cross join ds1 b ;
quit;
Solved thank u
Actually i not mentioning the variables and follow cross join.
select * from ds1 cross join ds1;
A cartesian join is correct. Post your code/log and explain how it does not match your desired output.
proc sql;
create table ds_final as
select a.name2, b.name1 from ds1 a cross join ds1 b ;
quit;
Solved thank u
Actually i not mentioning the variables and follow cross join.
select * from ds1 cross join ds1;
data ds1; infile datalines; input name1 $ name2 $; datalines; G A A B I C B D ; RUN; proc sql; select * from ds1(keep=name1),ds1(keep=name2) order by 2; quit;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.