Mit mehreren Anzeigebefehlen sortieren

In diesem Abschnitt:

Eine Anfrage kann aus bis zu sechzehn Sets mit separaten Anzeigebefehlen (auch als Verbphrasen bekannt) bestehen, die alle ihre eigenen Sortierbedingungen haben. Um alle Informationen anzuzeigen, muss eine bedeutungsvolle Beziehung zwischen den separaten Sortierbedingungssets bestehen. Es treffen die folgenden Regeln zu:


Nach oben

Beispiel: Mehrere Anzeige- und Sortierfelder verwenden

Die folgende Anfrage summiert mehrere Detailebenen in der Datenquelle.

TABLE FILE EMPLOYEE
SUM CURR_SAL
SUM CURR_SAL BY DEPARTMENT
SUM CURR_SAL BY DEPARTMENT BY LAST_NAME
END

Der Befehl SUM CURR_SAL berechnet die Gesamtsumme der aktuellen Gehälter. SUM CURR_SAL BY DEPARTMENT berechnet die Gesamtsummen der aktuellen Gehälter in den einzelnen Abteilungen. SUM CURR_SAL BY DEPARTMENT BY LAST_NAME berechnet die Gesamtsummen der aktuellen Gehälter für die einzelnen Angestelltennamen.

Die Ausgabe ist:


Nach oben

x
Die Formatierung von Reports mit mehreren Anzeigebefehlen steuern

Vorgehensweise:

Sie können den Befehl SET DUPLICATECOL verwenden, um Reportanfragen neu zu formatieren, die mehrere Anzeigebefehle verwenden, was aggregierte Felder in dieselbe Spalte über dem angezeigten Feld platziert.

Per Default erzeugt jeder neue Anzeigebefehl in einer Anfrage zusätzliche Sortierfeld- und Anzeigefeldspalten. Wenn DUPLICATECOL auf OFF eingestellt ist, nimmt jedes Feld nur eine Spalte in der Anfrage ein, wobei die Werte jedes Anzeigebefehls sich direkt unter den Werten des vorherigen Anzeigebefehls befinden.



x
Syntax: Das Format von Reports mit mehreren Anzeigebefehlen steuern
SET DUPLICATECOL={ON|OFF}

Hierbei gilt:

ON

Zeigt im Report jedes Feld als eine Spalte an. Dies ist der Defaultwert.

OFF

Zeigt im Report allgemeine Felder als eine Zeile an.



Beispiel: Reports mit mehreren Anzeigebefehlen anzeigen

Die folgende Anfrage summiert aktuelle Gehälter und Fortbildungsstunden für die gesamte EMPLOYEE-Datenquelle und für jede Abteilung:

TABLE FILE EMPLOYEE
SUM CURR_SAL ED_HRS                                           
SUM CURR_SAL ED_HRS BY DEPARTMENT                           
END

Mit DUPLICATECOL=ON, hat die Ausgabe separate Spalten für die Gesamtsummen und für die Summen in den Abteilungen:

   CURR_SAL  ED_HRS  DEPARTMENT         CURR_SAL  ED_HRS
   --------  ------  ----------         --------  ------
$222,284.00  351.00  MIS             $108,002.00  231.00
                     PRODUCTION      $114,282.00  120.00

Mit DUPLICATECOL=OFF hat die Ausgabe für jedes Feld eine Spalte. Die Gesamtsummen befinden sich in der obersten Zeile des Reports, und die Summen in den Abteilungen befinden sich in zusätzlichen Zeilen unter den Gesamtsummen:

DEPARTMENT         CURR_SAL  ED_HRS 
----------         --------  ------ 
                $222,284.00  351.00 
MIS             $108,002.00  231.00 
PRODUCTION      $114,282.00  120.00

Die folgende Anfrage fügt der vorherigen Anfrage einen PRINT-Befehl sortiert nach Abteilung und nach Nachname hinzu:

SET SPACES = 1
TABLE FILE EMPLOYEE                                          
SUM CURR_SAL ED_HRS                                          
SUM CURR_SAL ED_HRS BY DEPARTMENT AS 'DEPT'                         
PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME
END

Mit DUPLICATECOL=ON hat die Ausgabe separate Spalten für die Gesamtsummen, für die Summen in den Abteilungen und für jeden Nachnamen:

Mit DUPLICATECOL=OFF hat die Ausgabe für jedes Feld eine Spalte. Die Gesamtsummen befinden sich oben im Report, die Abteilungssummen befinden sich in zusätzlichen Zeilen unter den Gesamtsummen, und die Werte für jeden Nachnamen befinden sich auf zusätzlichen Zeilen unter den Abteilungssummen:

DEPT       LAST_NAME       FIRST_NAME        CURR_SAL ED_HRS
----       ---------       ----------        -------- ------
                                          $222,284.00 351.00
MIS                                       $108,002.00 231.00
           BLACKWOOD       ROSEMARIE       $21,780.00  75.00
           CROSS           BARBARA         $27,062.00  45.00
           GREENSPAN       MARY             $9,000.00  25.00
           JONES           DIANE           $18,480.00  50.00
           MCCOY           JOHN            $18,480.00    .00
           SMITH           MARY            $13,200.00  36.00
PRODUCTION                                $114,282.00 120.00
           BANNING         JOHN            $29,700.00    .00
           IRVING          JOAN            $26,862.00  30.00
           MCKNIGHT        ROGER           $16,100.00  50.00
           ROMANS          ANTHONY         $21,120.00   5.00
           SMITH           RICHARD          $9,500.00  10.00
           STEVENS         ALFRED          $11,000.00  25.00


x
Syntax: Einen Report mit SET DUPLICATECOL=ON stylen

In einem StyleSheet können Sie die Zeilen identifizieren, die Sie stylen möchten, indem Sie angeben, welcher Anzeigebefehl diese Zeilen erstellt hat:

VERBSET = n						

Hierbei gilt:

n

Ist die Ordinalzahl des Anzeigebefehls in der Reportanfrage.



Beispiel: Zeilen stylen, die mit einem bestimmten Anzeigebefehl assoziiert sind

Die folgende Anfrage hat zwei Anzeigebefehle:

  1. SUM CURR_SAL ED_HRS BY DEPARTMENT (Summen nach Abteilung).
  2. PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME (Werte nach Angestelltem nach Abteilung).
SET DUPLICATECOL = OFF    
TABLE FILE EMPLOYEE                                                 
SUM CURR_SAL ED_HRS BY DEPARTMENT                                 
PRINT FIRST_NAME CURR_SAL ED_HRS BY DEPARTMENT BY LAST_NAME                
ON TABLE SET STYLE *                                                
TYPE = REPORT, COLUMN= P4, VERBSET = 1, STYLE = ITALIC,    COLOR=BLUE,$  
TYPE = REPORT, COLUMN= B2, VERBSET = 2, STYLE = UNDERLINE, COLOR = RED,$ 
ENDSTYLE                                                            
END

In der Ausgabe:

Wenn Sie bestimmte Spalten formatieren, bedeutet die Verwendung der P-Notation, dass Sie jede Spalte zählen, die in der Reportausgabe angezeigt wird, einschließlich BY-Spalten. Es ist daher P1 die DEPARTMENT-Spalte, P2 die LAST_NAME-Spalte (dies ist auch B2, die zweite BY-Feldspalte), P3 die FIRST_NAME-Spalte, P4 die angezeigte Version der CURR_SAL-Spalte (die interne Matrix hat mehrere CURR_SAL-Spalten) und P5 die angezeigte ED_HRS-Spalte (die interne Matrix hat mehrere ED_HRS-Spalten).

Die Ausgabe ist:


WebFOCUS