Seitenumbruch steuern

Hallo zusammen!

Ich erstelle über Proc Print eine Liste, gegliedert nach Var1 und Var2, wobei mit jeder neuen Var1 auch eine neue Seite begonnen werden soll (Pageby). Pro Var1 und Var2 wird eine Tabelle mit den Inhalten Var3 bis Var5 erzeugt (In der Regel sind es nicht mehr als 15 Datenzeilen pro Tabelle, eher weniger). Nun kann es vorkommen, dass eine Tabelle noch auf der einen Seite beginnt, und auf der nächsten fortgesetzt wird. Kann ich eine Option setzen, dass SAS bei der Ausgabe dann direkt auf die nächste Seite springt? Oder wenn das nicht geht, dass er den Tabellenkopf (die BY-Variablen) wiederholt?

Der SAS-Code:

PROC PRINT DATA=WORK.DataSortiert
    
NOOBS
    
WIDTH=UNIFORM
    
;
    
VAR Var3 Var4 Var5;
    
BY Var1 Var2;
    
PAGEBY Var1;
RUN;

Besteht weiterhin die Möglichkeit die Pageby-Variable fett zu schreiben? Ich habe es hiermit versucht.

/*style=[font_weight=bold]*/
Danke Gruß
Feider

Pageby-Statement

Hallo!

Wenn ich es richtig verstanden habe, möchten Sie einen Seitenumbruch nach jeder Kombination von "var1, var2". Dann sollte eine einfache Änderung des Pageby-Statements ausreichen:

PROC PRINT DATA=WORK.DataSortiert
    
NOOBS
    
WIDTH=UNIFORM
    
;
    
VAR Var3 Var4 Var5;
    
BY Var1 Var2;
    
PAGEBY Var2;
RUN;

Der Tabellenkopf wird doch automatisch auf einer folgenden Seite wiederholt, oder?

Viele Grüße
Marko Schröder

Pageby-Statement für Var1!

Hallo Herr Schröder,
Nein, grundsätzlich soll für jede Ausprägung der Var1 eine neue Seite (Pageby) erzeugt werden. Darunter stehen dann soviele Kombinationen aus Var1 und Var2, wie Var2 Ausprägungen hat. Für jede dieser Ausprägungen wird dann eine Tabelle mit den Var3 bis Var5 erzeugt. Diese Tabelle wiederum hat mehrere Zeilen. Bei mehreren Tabellen pro Var1 kann es passieren, dass eine Tabelle auf der ersten Seite von Var1 beginnt und auf der zweiten fortgesetzt wird. Das möchte ich gern umgehen und hätte gern eine Ausgabe, wo diese Tabelle dann gleich auf der nächsten Seite beginnt oder wenn das nicht möglich ist, hätte ich gern den Titel (Var3 bis Var5) wiederholt.
Ich hoffe mein Problem ist deutlich geworden.
Vielen Dank im voraus
Gruß
Feider

Zusammenhalten von Tabellen

Das gewünschte Zusammenhalten von Tabellen ist meines Wissens mit PROC PRINT nicht möglich. Die Spaltenüberschriften werden jedoch wiederholt. Wenn innerhalb einer BY-Gruppe eine neue Seite angefangen wird, wird sowohl die BY-Gruppe wiederholt mit dem Zusatz "(continued)" als auch die Spaltenüberschriften. Das passiert aber nicht bei der Ausgabe nach HTML, weil dort gar keine Seitenumbrüche möglich sind.
Folgende Beispieldaten mit Ihrem obigen Programm demonstrieren das mit der ODS-Destination LISTING:

ods listing;
options pagesize=20;
data datasortiert;
    
input var1-var5;
datalines;
1 1 1 1 1
1 1 1 2 1
1 1 2 1 1
1 1 2 2 1
1 2 1 1 1
1 2 1 2 1
1 2 2 1 1
1 2 2 2 1
2 1 1 1 1
2 1 1 2 1
2 1 2 1 1
2 1 2 2 1
2 2 1 1 1
2 2 1 2 1
2 2 2 1 1
2 2 2 2 1
;

PROC PRINT DATA=WORK.DataSortiert
    
NOOBS
    
WIDTH=UNIFORM
    
;
    
VAR Var3 Var4 Var5;
    
BY Var1 Var2;
    
PAGEBY Var1;
RUN;