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;
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.