Dear all,
I'm trying to merge two datasets, but I have some questions about that.
One of the two datasets (have1) includes only one row, like the following:
A B
3.2 1.2
And the other dataset (have2) has three variables with lots of observations like this:
X Y Z
2 3 1
6 3 1
3 3 1
... ...
The final dataset I want to output is:
X Y Z A B
2 3 1 3.2 1.2
6 3 1 3.2 1.2
3 3 1 3.2 1.2
... ... 3.2 1.2
If I use:
data want;
merge have1 have2;
run;
The result I got includes only the first row with the values of A and B, the others are all missing value.
I know I could directly use
data want; set have2;
A=3.2;
B=1.2;
run;
However, I'm writing a macro, and there has thousands datasets I want to do so, therefore it's not possible to do this.
Hope anyone can help me about this. Thank you!
Best,
Hua
https://github.com/statgeek/SAS-Tutorials/blob/master/add_average_value_to_dataset.sas
The first example here is relevant, it shows how to merge in the single row of data.
https://github.com/statgeek/SAS-Tutorials/blob/master/add_average_value_to_dataset.sas
The first example here is relevant, it shows how to merge in the single row of data.
Hi,
SQL Cartesian product solves your problem.
Simply:
proc sql;
create table need as
select * from have2,have1;
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 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.