Das Skript demonstriert die Verwendung des ODS PDF-Ziels zur Erstellung paginierter Berichte. Es beginnt mit einem einzelnen Bericht über gefilterte Schuhe. Anschließend wird ein Makro '%loopTroughMake' definiert, das einen Autobericht für eine bestimmte Marke generiert, wobei jeder Bericht in einer separaten PDF-Datei gespeichert wird. Das Makro wird mehrmals für verschiedene Automarken aufgerufen, was die dynamische Generierung mehrerer PDF-Ausgaben veranschaulicht.
Datenanalyse
Type : SASHELP
Die Daten stammen ausschließlich aus den SASHELP-Bibliotheken, insbesondere aus den Datensätzen SASHELP.SHOES und SASHELP.CARS, die in SAS integrierte Beispieldatensätze sind.
1 Codeblock
PROC REPORT
Erklärung : Dieser Block initialisiert das ODS PDF-Ziel, um die Datei 'input_pdf_merge_1.pdf' zu erstellen. Er generiert einen einfachen Bericht mit 'PROC REPORT' aus dem Datensatz SASHELP.SHOES, filtert die Regionen 'Canada' und 'Pacific' und zeigt die Region, das Produkt und die Verkäufe an.
Kopiert!
ODS PDF FILE= "&out/input_pdf_merge_1.pdf" NOTOC;
TITLE "Table 1: By Group Report about shoes";
PROC REPORT DATA=sashelp.shoes(WHERE=(region IN ('Canada', 'Pacific'))) CONTENTS="";
BY region;
COLUMN region product sales;
DEFINE region / ORDER NOPRINT;
RUN;
ODS PDF CLOSE;
1
ODS PDF FILE= "&out/input_pdf_merge_1.pdf" NOTOC;
2
TITLE "Table 1: By Group Report about shoes";
3
PROC REPORTDATA=sashelp.shoes(WHERE=(region IN ('Canada', 'Pacific'))) CONTENTS="";
4
BY region;
5
COLUMN region product sales;
6
DEFINE region / ORDER NOPRINT;
7
RUN;
8
ODS PDF CLOSE;
2 Codeblock
Macro
Erklärung : Definiert das Makro '%loopTroughMake', das zwei Parameter akzeptiert: 'make' (Automarke) und 'i' (Dateinummer/Titel). Bei jedem Aufruf öffnet es eine neue PDF-Datei, erstellt einen Bericht mit 'PROC REPORT' aus SASHELP.CARS, gefiltert nach der angegebenen Marke, und schließt dann die PDF-Datei. Dies ermöglicht eine wiederholte Generierung von Berichten mit verschiedenen Daten.
Kopiert!
%MACRO loopTroughMake(make,i);
ODS PDF FILE= "&out/input_pdf_merge_&i..pdf" NOTOC;
TITLE "Table &i: Multiple outputs - Cars for make = &make";
PROC REPORT DATA=sashelp.cars(WHERE=(make = "&make")) nowd headline spacing=2;
COLUMN make model type msrp;
RUN;
TITLE;
ODS PDF CLOSE;
%MEND;
1
%MACRO loopTroughMake(make,i);
2
ODS PDF FILE= "&out/input_pdf_merge_&i..pdf" NOTOC;
3
TITLE "Table &i: Multiple outputs - Cars for make = &make";
Erklärung : Diese Zeilen rufen das Makro '%loopTroughMake' dreimal mit verschiedenen Automarken (Acura, Audi, BMW) und entsprechenden Indexnummern auf. Jeder Aufruf generiert eine separate PDF-Datei mit einem Bericht über die Fahrzeuge der angegebenen Marke.
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.