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;
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 lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
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.
Ready to level-up your skills? Choose your own adventure.