Das Makro selbst liest oder erstellt keine Daten, es überprüft deren Existenz. Der in den Kommentaren bereitgestellte Validierungsblock erstellt temporäre Test-Datasets (`WORK.DATA_n`, `PWD.TEST2`), um die korrekte Funktion des Makros zu überprüfen.
1 Codeblock
MACRO
Erklärung : Definition des Makros _dsexist. Es akzeptiert einen Dataset-Namen als Argument. Es extrahiert die Bibliothek und den Tabellennamen und wendet dann eine bedingte Logik an: eine spezifische Behandlung für die Dictionary-Ansichten der SASHELP-Bibliothek, einen festen Rückgabewert für eine 'DB'-Bibliothek und eine Überprüfung der physischen Dateiexistenz für alle anderen Bibliotheken.
Erklärung : Teil des Validierungsflusses (auskommentiert). Dieser Block weist zuerst die Bibliothek 'PWD' dem aktuellen Verzeichnis zu. Anschließend erstellt er ein leeres Dataset in der WORK-Bibliothek (automatisch benannt als data1, data2 usw.) und ein weiteres leeres Dataset namens 'test2' in der 'PWD'-Bibliothek.
Kopiert!
/* uncomment to re-validate
libname pwd '.';
data;
run;
data pwd.test2;
run;
1
/* uncomment to re-validate
2
3
LIBNAME pwd '.';
4
5
DATA;
6
RUN;
7
8
DATA pwd.test2;
9
RUN;
3 Codeblock
MACRO CALL
Erklärung : Teil des Validierungsflusses (auskommentiert). Dieser Block führt eine Reihe von Tests durch, indem er das Makro %_dsexist mit verschiedenen Eingabetypen (Null-Dataset, existierend, nicht existierend, in SASHELP usw.) aufruft, um zu überprüfen, ob das zurückgegebene Ergebnis korrekt ist. Die Ergebnisse werden über %PUT im SAS-Journal angezeigt.
Erklärung : Letzter Schritt des Validierungsflusses (auskommentiert). Dieser Aufruf eines (nicht bereitgestellten) Makros %_delete dient dazu, die Testumgebung zu bereinigen, indem das zuvor erstellte Dataset 'pwd.test2' gelöscht wird.
Kopiert!
%_delete(data=pwd.test2);
*/
1
%_delete(DATA=pwd.test2);
2
3
*/
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.