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;
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and save with the early bird rate—just $795!
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.