Initialisierung der Projektumgebung

ATTENTION : Ce contenu est DÉSACTIVÉ. Il est invisible pour les visiteurs.
Schwierigkeitsgrad
Anfänger
Veröffentlicht am :
Das Makro `initlilly_setup` wurde entwickelt, um eine standardisierte Arbeitsumgebung zu konfigurieren. Es benötigt drei Parameter: `phase2` (Standard 'qa'), `ref` (Standard 'TDTM') und `PorV` (Standard 'programs_stat').
Es erkennt das Betriebssystem (`%sysscp`), um den Pfadtrenner (`sep`) und die Logik zur Pfaddefinition anzupassen. Für Windows zerlegt es die Makrovariable `pathroot` in verschiedene Segmente (Laufwerkstamm, Stammverzeichnis, Entwicklungsphase, Verbindung, Studie, Analysephase) und verwendet diese Segmente, um die Pfade der Bibliotheken `arcmeta`, `rptlib`, `sdtm` und `adam` zu konstruieren. Es enthält auch eine externe Formatierungsdatei. Für Unix wird angenommen, dass die Makrovariablen der Pfade (`arcmeta`, `rptlib`, `rptlibv`, `dev_path`, `val_path`, `bum_path`, `format_intrm1`) bereits außerhalb des Makros definiert sind, und verwendet diese, um die Bibliotheken zu definieren und die Formatierungsdatei einzuschließen. Schließlich definiert es eine globale Variable `studyid` basierend auf dem Namen der Verbindung.
Datenanalyse

Type : EXTERNE


Das Makro manipuliert nicht direkt Daten, stellt aber die notwendigen Verbindungen zu externen Datenquellen her. Die SAS-Bibliotheken (`arcmeta`, `rptlib`, `sdtm`, `adam`) werden so definiert, dass sie auf Dateisystemverzeichnisse zeigen, in denen Projektdaten (SDTM, ADAM) und Metadaten (arcmeta) gespeichert sind. Der Pfad zu diesen Verzeichnissen wird dynamisch aus der Variablen `pathroot` (für Windows) konstruiert oder es wird angenommen, dass er (für Unix) vordefiniert ist.

1 Codeblock
Makro-Definition
Erklärung :
Dieser Block definiert das Makro `initlilly_setup`. Es initialisiert globale Makrovariablen (`os`, `sep`, `drive_root`, usw.), die zum Aufbau von Dateipfaden und Projektverzeichnissen verwendet werden. Die bedingte Logik (`%if %upcase(&sysscp) = WIN %then ... %else`) passt Pfade und Dateitrenner je nach Betriebssystem an. `libname`-Anweisungen werden verwendet, um SAS-Bibliotheksnamen physischen Pfaden zuzuordnen, was den Zugriff auf Metadaten (`arcmeta`), Berichtausgaben (`rptlib`) und standardisierte klinische Datensätze (`sdtm`, `adam`) erleichtert. Für Windows werden Pfade dynamisch aus einer `pathroot`-Variable und Makroparametern konstruiert. Für Unix wird angenommen, dass die vollständigen Pfade bereits über Makrovariablen übergeben werden. Schließlich wird eine externe Formatierungsdatei (`%include`) eingeschlossen, um spezifische Formate auf die Daten anzuwenden. Die Variable `studyid` wird ebenfalls definiert.
Kopiert!
1%macro initlilly_setup(phase2=qa,ref=TDTM,PorV=programs_stat);
2%initlilly;
3%global os sep drive_root dir_root dev_phase dev_phase2 compound study analy_phase referenc pgm_dir
4 studyid trt1 trt2 trt3 trt4 trt5;
5%IF %upcase(&sysscp) = WIN %THEN
6 %DO;
7 %let os = %lowcase(&sysscp);
8 %let sep=\\; /* Note: backslash escaped for JSON output */
9 /*Set up directory macro variables and the libraries*/
10 %let drive_root=%scan(&pathroot,1,&sep); /*Drive*/
11 %let dir_root=%scan(&pathroot,2,&sep); /*root directory*/
12 %let dev_phase=%scan(&pathroot,3,&sep);/*development phase before DBL*/
13 %let dev_phase2=&phase2;/*development phase after DBL*/
14 %let compound=%scan(&pathroot,4,&sep); /*compound name*/
15 %let study=%scan(&pathroot,5,&sep); /*study name*/
16 %let analy_phase=%scan(&pathroot,6,&sep); /*need to change when starting another interim lock*/
17 %let referenc=&ref; /*need to change after prd data is ready*/
18 %let pgm_dir=&porv;/*program location*/
19 
20 LIBNAME arcmeta "&drive_root\&dir_root\&dev_phase\&compound\&study\&analy_phase\data\shared\arc_reporting_metadata"; /*location of arc tool metadata*/
21 LIBNAME rptlib "&drive_root\&dir_root\&dev_phase\&compound\&study\&analy_phase\&pgm_dir\tfl_output"; /*location of outputs*/
22 LIBNAME sdtm "&drive_root\&dir_root\&dev_phase\&compound\&study\&analy_phase\data\shared\sdtm" access=readonly;
23 LIBNAME adam "&drive_root\&dir_root\&dev_phase\&compound\&study\&analy_phase\data\shared\adam" access=readonly;
24 
25 /*options errorcheck=strict serror mprint mlogic mlogicnest symbolgen notes source nosource2 nocenter nodate nonumber fmtsearch=(work);*/
26 
27 /*Include output formatting*/
28 %include "&drive_root\&dir_root\&dev_phase\&compound\&study\&analy_phase\programs_stat\format_hhbh.sas";
29 %END;
30%ELSE
31 %DO;
32 %let os = unix;
33 %let sep=%str(/);
34 
35LIBNAME arcmeta "&arcmeta"; /*location of arc tool metadata*/
36LIBNAME rptlib "&rptlib"; /*location of outputs*/
37LIBNAME rptlibv "&rptlibv"; /*location of independent programming outputs*/
38 
39/*Set up the study programming environment*/
40options sasautos=("&dev_path" "&val_path" "&bum_path" sasautos) mautosource;
41/*options errorcheck=strict serror mprint mlogic mlogicnest symbolgen notes source nosource2 nocenter nodate nonumber fmtsearch=(work);*/
42 
43/*Include output formatting*/
44%include &format_intrm1;
45%END;
46%let studyid=%upcase(&compound);
47 
48 
49%mend;
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.

Zugehörige Dokumentation

Aucune documentation spécifique pour cette catégorie.