Das Skript verarbeitet oder erstellt keine vorhandenen SAS-Daten. Es manipuliert und zeigt eine literale Zeichenkette an, die als Makroparameter übergeben wird, wobei ausschließlich die Konsole (Log) für die Ausgabe verwendet wird.
1 Codeblock
MACRO DEFINITION & DATA STEP
Erklärung : Dieser Codeblock definiert und ruft das Makro `testit` auf. Das Makro akzeptiert einen Parameter `path`. Innerhalb des Makros wird ein `DATA _NULL_`-Schritt verwendet, um direkt in das SAS-Log zu schreiben. Die Funktion `%SYSFUNC(DEQUOTE(&path))` ist hier entscheidend: Sie entfernt Anführungszeichen (einfache oder doppelte) aus dem an den Parameter `path` übergebenen Wert, bevor dieser angezeigt wird. Die drei nachfolgenden Aufrufe von `%testit` zeigen, wie die Funktion `DEQUOTE` verschiedene Syntaxen zur Übergabe von Zeichenketten (ohne Anführungszeichen, mit einfachen Anführungszeichen, mit doppelten Anführungszeichen) verarbeitet und sicherstellt, dass das im Log angezeigte Ergebnis immer der Pfad ohne Anführungszeichen ist.
Kopiert!
%macro testit(path=);
data _null_;
put "%sysfunc(dequote(&path))";
run;
%mend testit;
%testit(path=D:\Projects\);
%testit(path='D:\Projects\');
%testit(path="D:\Projects\");
1
%macro testit(path=);
2
DATA _null_;
3
put "%sysfunc(dequote(&path))";
4
RUN;
5
%mend testit;
6
7
%testit(path=D:\Projects\);
8
%testit(path='D:\Projects\');
9
%testit(path="D:\Projects\");
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.