%let enddt = intnx('month',today(),0);
%let data = DataName_%sysfunc(intnx(month,%sysfunc(date()),-1),yymmn6);
%let intdt = intnx('month',today(),-7);
%let start = intnx('month',today(),-25);
Wie kann ich die anderen 3 Makrovariablen schreibe basierend auf dem ersten (enddt) Zum Beispiel Ab heute intdt = enddt-7, start = enddt-25. Daten = DataName_201604.SAS, Datum Manipulation
Wenn ich das Ende in intnt ('Monat', heute(), - 1) ändere, werden die anderen drei automatisch geändert. intdt = enddt-7, start = enddt-25. Daten = DataName_201603.
Nun, wenn ich das Datum zurück zu 2 Monate will, muss ich es wie dies manuell zu tun:
%let enddt = intnx('month',today(),-2);
%let data = DataName_%sysfunc(intnx(month,%sysfunc(date()),-3),yymmn6);
%let intdt = intnx('month',today(),-9);
%let start = intnx('month',today(),-27);
Diese völlig irrelevant für die Frage gestellt wird, ist. Er versucht nicht, Makrovariablen zu durchlaufen, er versucht, eine als eine Funktion anderer zu schreiben. – superfluous