Veröffentlicht am :
Macro EXTERNE

AHGsetprint Makro: SAS-Tabellen zusammenführen und formatieren

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Makro iteriert über eine Liste von als Parameter bereitgestellten Datasets. Für jedes Dataset wird eine temporäre Kopie erstellt, optional Identifikationsspalten (Reihenfolge, Quellname) hinzugefügt und alle Daten über Aufrufe an andere Hilfsmakros (AHGalltocharnew, AHGmergeprint) in den Zeichentyp konvertiert. Die verarbeiteten Datasets werden anschließend in einer einzigen Tabelle zusammengeführt, bereinigt und optional ausgegeben.
Datenanalyse

Type : EXTERNE


Die Quelldaten werden durch den Makroparameter &dsns definiert, der eine Liste vorhandener Tabellennamen erwartet.

1 Codeblock
DATA STEP Data
Erklärung :
Verarbeitungsschleife: Für jede angegebene Eingabetabelle wird eine temporäre Tabelle erstellt, Metadatenvariablen (Reihenfolge, Ursprung) hinzugefügt und der Inhalt über externe Makros in ein Zeichenformat konvertiert.
Kopiert!
1%DO i=1 %to &dsnN;
2 %let item=%scan(&dsns,&i,%str( ));
3 %AHGgettempname(onedsn);
4 %let alldsn=&alldsn &onedsn;
5 DATA &onedsn;
6 %IF %AHGnonblank(&ord) %THEN &ord=&i;;
7 %IF %AHGnonblank(&BY) %THEN %DO;
8 FORMAT &BY $40.; &BY="&item";
9 %END;
10 SET &item;
11 RUN;
12 %AHGalltocharnew(&onedsn,out=&onedsn);
13 /* ... collecte des variables et appel AHGmergeprint ... */
14%END;
2 Codeblock
DATA STEP Data
Erklärung :
Endgültiger Verkettungsschritt: Zusammenführen aller vorbereiteten temporären Tabellen in einer einzigen Ausgabetabelle.
Kopiert!
1DATA &out;
2 SET &alldsn;
3RUN;
3 Codeblock
MACRO CALL
Erklärung :
Nachbearbeitung: Auswahl der zu behaltenden Variablen, Bereinigung von Zeichenketten (Trimmen) und optionale Anzeige des Ergebnisses.
Kopiert!
1%IF &keep %THEN %AHGrenamekeep(&out,names=&allvar,keepall=0);
2%ELSE %AHGrenamekeep(&out,keepall=0);
3%AHGtrimdsn(&out);
4 
5%IF &PRINT %THEN %AHGprt;
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.