Ich erstelle ein SAS-Programm, mit dem der Benutzer das Datum eingeben kann, das untersucht werden soll (als globale Variable). Ich möchte eine zweite Variable erstellen, die drei Monate vor der vom Benutzer erstellten Variable liegt.Erstellen von Beziehungen zwischen SAS-Variablen
%let var1 = [user manually writes the variable in the code]
%let var2 = [3 months before var1]
Ich versuchte
var2 = intnx('month', input(put(&var1.,8.),yymmdd8.),-3)
, die nicht funktioniert.
Sie scheinen Makrovariablen und tatsächliche Datensatzvariablen in Ihrem Code zu mischen. Sie müssen den Benutzern genau mitteilen, welches Format sie verwenden sollen, um Daten in die erste Makrovariable einzugeben, die mit der Methode kompatibel ist, mit der Sie die zweite Makrovariable generieren. Denken Sie daran, dass SAS-Makrovariablen nur Textzeichenfolgen sind. – Tom