Hi SAS Forum,
Could you please help me to find out the reason for the error messege (highlighted in red below) when I have called the macro?
%macro newname (MTH_YR=, ym=) ;
proc sql;
create table out.cccc_&mth_yr._v2 as
select min(a.var1 ) as var1 ,
min(a.custno ) as cif ,
min(b.cif ) as cif ,
min(b.yearmonth) as yearmonth
from out.cccc_&mth_yr._v1 a,
extra.age_profile b
where a.custno= b.cif
and b.yearmonth = 201104
group by b.cif
;
quit;
%mend newname;
/*macro call*/
%newname(MTH_YR=Apr11, ym=201104) ;
ERROR: Expression using equals (=) has components that are of different data types.
Thanks
Mirisage
hi
Since you have not provided the data sets' strucure..
please check the line......
where a.custno=b.cif
i guess ...these are different data types !!
Regards
ALLU
HI.
I believe your problem may be here:
where a.custno= b.cif
and b.yearmonth = 201104
I think you should replace it with: (Please note the quotations around the 2011104)
where a.custno= b.cif
and b.yearmonth = "201104"
Let me know.
Good luck!
Anca.
PS: Also, in your macro, shouldn't your line ...
where a.custno= b.cif
and b.yearmonth = 201104
actually read:
where a.custno= b.cif
and b.yearmonth = "&ym."
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.