I've been through the forums and can't quite find anything that fits what I'm having an issue with, so apologies if this is a repost. I need to push a date into a global variable so I can call it within my program. Currently I get the date from: PROC SQL noprint; SELECT INTNX('MONTH',MDY(quarter*3,1,year),0,'E') format=date9. INTO :livd FROM HPIindex WHERE year = (SELECT MAX(year) FROM HPIindex) HAVING quarter = MAX(quarter); RUN; When I try to apply this as a date it is coming out as a character string so throwing an error: DATA dates; SET date_table; WHERE DATEPART(the_date) = &livd; RUN; NOTE: Line generated by the macro variable "LIVD". 28 30JUN2018 _______ 22 76 ERROR: Syntax error while parsing WHERE clause. ERROR 22-322: Syntax error, expecting one of the following: !, !!, &, *, **, +, -, /, <, <=, <>, =, >, >=, AND, EQ, GE, GT, LE, LT, NE, OR, ^=, |, ||, ~=. ERROR 76-322: Syntax error, statement will be ignored. Is there any way to create the &livd variable as a date instead of a string? So basically producing '30JUN2018'd instead of 30JUN2018? Thanks, any help appreciated.
... View more