Hello! I started this new job in the middle of February and this is my first time using SAS. 'm trying to create macro dates in different formats for a program that we run monthly at our company. This is what I've come up with so far. It runs fine, but I'm unsure if this is the most efficient way to create the dates and with the different formats. Any advice would be greatly appreciated! Thank you!! DATA Dates1; Rundate = INTNX('DAY', TODAY(), 0, 'B'); /* Today */ MC = INTNX('MONTH', rundate, 0, 'B'); /* Month Current*/ MP = INTNX('MONTH', rundate, -1, 'B'); /* Month Past*/ /* FORMAT DATE9 */ CALL SYMPUT ('MC_DATE9', CATS(PUT(MC, DATE9.))); CALL SYMPUT ('MP_DATE9', CATS(PUT(MP, DATE9.))); /* FORMAT DATE11 */ CALL SYMPUT ('MC_DATE11', CATS(PUT(MC, DATE11.))); CALL SYMPUT ('MP_DATE11', CATS(PUT(MP, DATE11.))); /* FORMAT YYMMN6 */ CALL SYMPUT ('MC_YYMMN6', CATS(PUT(MC, YYMMN6.))); CALL SYMPUT ('MP_YYMMN6', CATS(PUT(MP, YYMMN6.))); /* FORMAT QOUTED DATE9 */ CALL SYMPUT ('MC_QDATE9', CATS("'",PUT(MC, DATE9.),"'")); CALL SYMPUT ('MP_QDATE9', CATS("'",PUT(MP, DATE9.),"'")); /* FORMAT QOUTED DATE11 */ CALL SYMPUT ('MC_QDATE11', CATS("'",PUT(MC, DATE11.),"'")); CALL SYMPUT ('MP_QDATE11', CATS("'",PUT(MP, DATE11.),"'")); /* FORMAT QOUTED YYMMN6 */ CALL SYMPUT ('MC_QYYMMN6', CATS("'",PUT(MC, YYMMN6.),"'")); CALL SYMPUT ('MP_QYYMMN6', CATS("'",PUT(MP, YYMMN6.),"'")); put MC = DATE11.; /* Month Current */ put MP = DATE11.; /* Month Past 1 Date Beginning * RUN;
... View more