Can someone elaborate on this? I am having the same issue, but I don't understand the solution here.
What do you mean rename the column? Just name the variable name?
I have a number of these errors! Does that mean I have to rename every single column? What do I rename them to?
Run below code. That will hopefully explain it to you.
data have1;
attrib
A length=8
b length=8;
A=1;
B=1;
run;
data have2;
attrib
A length= 8
B length= $20;
A=2;
B='2';
run;
/* throws an error because column B is of different type in source tables */
/* error indicates which column based on variable number causes the issue */
/* running proc contents over source tables will return the variable names with attributs */
/* so the problematic column is easily identified */
proc sql;
create table demo1 as
select *
from have1
outer union corresponding
select *
from have2
;
quit;
/* will work */
proc sql;
create table demo1 as
select a, b as b1
from have1
outer union corresponding
select a, b as b2
from have2
;
quit;
Thanks Patrick for taking the time to post the example. It really does help!
I have a question though.
I notice that the correct proc sql code renames variables b to b1 from dataset have 1, and then renames b to b2 from dataset 2. But for the merging of the two datasets I want b1 and b2 to be in the same column.
So for example:
data set have 1 has variables a and b
data set have 2 has variables a and b
final merged data set has variables a and b which contains the data points from variables a and b from dataset have 1 and have2.
is there a way to do this?
Thank you
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.