我這裏有兩個變量串聯在SAS使用宏
%let End_of_month =%sysfunc(intnx(month,'&sysdate'd,-1,e),yymmdd10.); %stamp =00:00:00
現在,我想創建一個新的變量
%TIME_STAMP =「2016年6月19日00:00: 00'
爲了使這個變量,我使用的貓函數sysfunc
%timestamp =%sysfunc(cat("'","&End_of_month".,"&stamp.","'"));
上面的代碼沒有給我想要的結果。有人可以告訴我如何使用%sysfunc解決此問題。
我不太確定如何在這個語句中使用%str和nstr。請讓我知道我們如何在宏觀上解決貓,貓和貓咪。
謝謝
嘗試添加 'DT' 修飾符%時間戳=%sysfunc(貓( 「 '」, 「&End_of_month」, 「&郵票」, 「' DT」));如果你想用文本中的日期代碼 –
你需要引號嗎?宏代碼將把這些視爲字符串的一部分。如果需要它們,你是否真的需要使用單引號?單引號可以抑制宏表達式的評估。如果你使用雙引號,那麼你可以評估你的宏變量。 – Tom
你可能不應該使用'&sysdate'。這是SAS會話開始的日期(不一定是當前日期)。您可能想使用'%sysfunc(date())'獲取當前日期。 –