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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.