Angenommen, Sie haben einen Datensatz namens dname_list mit den Dateinamen, und sie heißen dname. Call execute
generiert den Code und führt ihn aus.
Normalerweise erstelle ich meinen Befehl in einer Zeichenfolge und dann übergeben, dass Aufruf ausführen. Dies ist ein data _null_
Schritt, so dass kein Datensatz generiert wird. Sie können jedoch den zu testenden Datensatz bei Bedarf zuerst generieren.
Sie müssen keine Schleife ausführen, da SAS die Datensätze in einem Datensatz selbst durchläuft.
Wenn Sie Daten in einer Bibliothek sortieren, müssen Sie auch den Namen der Bibliothek angeben.
data _null_;
*data dname_execute;
set dname_list;
string = catt('proc sort data=', dname, '; by age; run;');
call execute(string);
run;
Beitrag, was Sie bitte versucht haben. Mehr als wahrscheinlich, müssen Sie ein Makro verwenden, also erklären Sie, wie Ihre 'Liste von Datensätzen' gespeichert wird, ist es bereits in einer SAS-Tabelle? Oder ist es in einer Textdatei oder in Ihrem Kopf? Oder gibt es eine Namenskonvention für sie? – Reeza
Ja, es ist in Form von SAS-Datensätzen (keine Textdatei), ich möchte sie alle mit Proc Sortierung sortieren. Ich habe ungefähr 10 Datensätze, also muss ich 10 Proc Sortieranweisungen schreiben (eine für jeden Datensatz). Ich möchte stattdessen Schleife verwenden .. –
Posten Sie, was Sie versucht haben oder zumindest Ihren aktuellen Code. – Reeza