Can someone please help with this code. It looks OK to me:
%macro SomeExcitingMacro(Origin);
PROC SGPLOT DATA=SASHELP.cars(where=(Origin = %bquote('&Origin.')));
VBOX Invoice
/ category = DriveTrain nooutliers;
title &Origin.;
RUN;
%mend SomeExcitingMacro;
%SomeExcitingMacro(Asia);
I get this error:
ERROR: Syntax error while parsing WHERE clause.
WHERE is fussy about parsing quoted strings But why use that complication at all? Why not just:
(where=(Origin="&Origin."))
There's no apparent reason for %BQUOTE here.
WHERE is fussy about parsing quoted strings But why use that complication at all? Why not just:
(where=(Origin="&Origin."))
There's no apparent reason for %BQUOTE here.
To resolve a macro reference you need to use double quotes. But I don;t see why your using bquote at all?
%macro someexcitingmacro (origin);
proc sgplot data=sashelp.cars;
where origin="&origin.";
vbar invoice / category=drivetrain nooutliers;
title "&origin.";
run;
%mend someexcitingmacro;
%someexcitingmacro(Asia);
You will note I changed some cases and things, nobody likes being shouted at.
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 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.