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;
Available on demand!
Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.
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.