Veröffentlicht am :

Umgebungskonfiguration und Laden von Abhängigkeiten

Dieser Code ist auch verfügbar auf: English Español Français
Attention : Dieser Code erfordert Administratorrechte.
Das Skript definiert ein Makro `%setPathToCurrent`, das versucht, den Pfad der aktuell ausgeführten Datei über eine Umgebungsvariable abzurufen und das Systemarbeitsverzeichnis (cd) anzupassen. Anschließend definiert es eine Bibliothek 'survey', die auf einen relativen Ordner zeigt, konfiguriert die Format-Suchoptionen und inkludiert eine Reihe von SAS©-Dateien (Makros), die sich in übergeordneten oder freigegebenen Verzeichnissen befinden. Hinweis: Die Verwendung von Backslashes bei der Pfadanalyse deutet auf einen Windows-Ursprung hin, was eine Anpassung für eine Linux/Viya-Umgebung erfordern kann.
Datenanalyse

Type : MIXTE


Verwendet Systembefehle für den Pfad, definiert eine externe lokale Bibliothek 'survey' ('../data') und lädt Code über %include.

1 Codeblock
MACRO
Erklärung :
Definition des Makros `setPathToCurrent`. Es ruft den vollständigen Pfad der ausgeführten Datei ab, extrahiert den übergeordneten Ordner (Windows-Logik mit '\') und verwendet `call system` in einem `data _null_`, um das Arbeitsverzeichnis des Betriebssystems zu ändern.
Kopiert!
1%let currentDir=;
2 
3%macro setPathToCurrent;
4 %local cdir cFileName cFileBaseName n_cFileName n_pathName cPathName;
5
6 %let cFileName = %sysget(sas_execfilepath);
7 %let cFileBaseName = %qscan(&cFileName, -1, '\');
8 %let n_cFileBaseName = %length(%quote(&cFileBaseName));
9 %let n_cFileName = %length(%quote(&cFileName));
10 %let n_pathName = %eval(&n_cFileName - &n_cFileBaseName - 1);
11 %let cPathName = %qsubstr(&cFileName, 1, &n_pathName);
12
13 data _null_;
14 call system("cd &cPathName");
15 RUN;
16 
17 %let currentDir = &cPathName;
18 
19%mend setPathToCurrent;
2 Codeblock
GLOBAL STATEMENTS
Erklärung :
Ausführung des Konfigurationsmakros, Definition der Bibliothek 'survey', Konfiguration der Formatoptionen und Einbindung externer Codedateien (gemeinsam genutzte Makros).
Kopiert!
1%setPathToCurrent;
2 
3LIBNAME survey "../data";
4 
5options fmtsearch = (work fdz) mstored sasmstore = sasuser;
6 
7%include "./macrro_gregg.sas"; /*MACRO GREGAR*/
8%include "../CLAN/clan97_313.sas";
9%include "../shared/utility_macros1.sas";
10%include "../shared/buildAuxData.sas";
11%include "../shared/parseModel.sas";
12%include "../shared/vec_emu.sas";
13%include "../shared/interaction.sas";
14 
15/*%include "./shared/stack.sas";*/
16%include "../shared/buildTotalsTable.sas";
17%include "../shared/combineTables.sas";
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.