In diesem Abschnitt: Vorgehensweise: |
Sie können viele Datenkategorien in einem Report identifizieren, einschließlich der Folgenden:
Im Folgenden wird beschrieben, wo die DATA- und ACROSSVALUE-Komponenten in einem Report angezeigt werden und welche TYPE-Werte Sie verwenden, um sie zu identifizieren.
TABLE FILE CENTORD HEADING CENTER "UNITS SOLD IN 2002 BY PLANT" SUM QUANTITY AND ROW-TOTAL AS '2002 TOTAL' ACROSS QUARTER BY PLANTLNG AS 'PLANT' WHERE YEAR EQ 2002 ON TABLE COLUMN-TOTAL AS 'TOTAL UNITS' ON TABLE SET PAGE-NUM OFF ON TABLE SET STYLE * TYPE=REPORT, GRID=OFF,$ END
Hinweis: Da diese Anfrage nur zeigt, wo die Komponenten in einem Report angezeigt werden, wird das StyleSheet weggelassen.
Um alle Reportdaten in einem StyleSheet zu identifizieren (außer Summen, Gesamtsummen, Zwischensummen und horizontalen Sortierwerten (ACROSS), die separat identifiziert werden müssen), verwenden Sie folgendes Attribut und Wert:
TYPE = DATA
Im Folgenden wird beschrieben, wie Sie alle Daten in einem Report identifizieren. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
TABLE FILE CENTORD
HEADING CENTER
"UNITS SOLD IN 2002 BY PLANT"
SUM QUANTITY AND ROW-TOTAL AS '2002 TOTAL'
ACROSS QUARTER
BY PLANTLNG AS 'PLANT'
WHERE YEAR EQ 2002
ON TABLE COLUMN-TOTAL AS 'TOTAL UNITS'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=DATA, STYLE=BOLD, $
ENDSTYLE
END
Die Ausgabe ist:
TYPE=DATA, COLUMN=column
Hierbei gilt:
Gibt eine oder mehrere Spalten an, die Sie formatieren möchten. Eine Liste der Werte finden Sie unter Eine gesamte Spalte identifizieren.
Im Folgenden wird beschrieben, wie Sie eine Datenspalte identifizieren. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
Beachten Sie, dass, wenn Sie eine Spalte mit Nn identifizieren, NOPRINT-Spalten gezählt werden. Obwohl das Feld Produktname die erste Spalte in diesem Report ist, wird sie wegen der NOPRINT-Spalte als N2 identifiziert.
TABLE FILE CENTORD
PRINT QUANTITY LINEPRICE LINE_COGS
BY ORDER_NUM NOPRINT
BY PRODNAME
WHERE ORDER_NUM EQ '48045'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$
TYPE=DATA, COLUMN=N2, STYLE=ITALIC,$
ENDSTYLE
END
Die Ausgabe ist:
TYPE=ACROSSVALUE, [ACROSS={fieldname|{N|A}n}]
Hierbei gilt:
Wenn Sie eine Anfrage mit mehreren ACROSS-Feldern haben, können Sie jedes Feld mit dem ACROSS-Identifikator identifizieren. Sie müssen den ACROSS-Identifikator nur aufnehmen, wenn in Ihrer Anfrage mehrere ACROSS-Felder vorhanden sind.
Gibt eine horizontale Sortierzeile über ihren Feldnamen an.
Gibt eine horizontale Sortierzeile über ihre Position in der Abfolge horizontaler Sortierzeilen an. Kann nicht im selben StyleSheet mit einer Feldnamenspezifikation kombiniert werden.
Im Folgenden wird beschrieben, wie Sie eine Zeile mit horizontalen Sortierdaten identifizieren. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
TABLE FILE CENTORD
HEADING
"Units Sold"
SUM QUANTITY
BY PRODNAME
ACROSS PLANT AS 'Manufacturing Plant'
WHERE PRODTYPE EQ 'Digital'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=HEADING, SIZE=12, $
TYPE=ACROSSVALUE, ACROSS=PLANT, STYLE=BOLD, $
ENDSTYLE
END
Die Ausgabe ist:
Hinweis: Sie können, um dasselbe Ergebnis zu erzielen, alternativ auch den Wert N1 für das ACROSS-Attribut in der StyleSheet-Deklaration verwenden. Zum Beispiel TYPE=ACROSSVALUE, ACROSS=N1, STYLE=BOLD, $.
Das Folgende zeigt, wie Sie eine Zeilensumme (ACROSS-TOTAL) für horizontale Sortierdaten (ACROSS) identifizieren, indem Sie die ACROSSVALUE-Komponente und einen numerischen Spaltenverweis (Nn) verwenden. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
TABLE FILE CENTORD
SUM QUANTITY
BY PRODNAME
ACROSS PLANT AS 'Manufacturing Plant'
ACROSS-TOTAL AS 'Plant Totals'
WHERE PRODTYPE EQ 'Digital'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=ACROSSVALUE, COLUMN=N8, STYLE=ITALIC, COLOR='RED', $
ENDSTYLE
END
In der folgenden Abbildung sehen Sie die Ausgabe mit dem ACROSS-TOTAL-Wert (Fabriksummen), der rot und kursiv formatiert ist.
Vorgehensweise: |
Innerhalb eines StyleSheets können Sie die Gesamtsummen, Zwischensummen, Zwischensummenberechnungen (die durch ON sortfield RECAP oder ON sortfield COMPUTE erzeugt wurden), Spaltensummen und Zeilensummen eines Reports identifizieren, um sie zu formatieren. Genaueres über das Identifizieren von Zeilensummen finden Sie unter Einen gesamten Report, eine gesamte Spalte oder eine gesamte Zeile identifizieren.
Im folgenden Beispiel ist zu sehen, wo sich diese Komponenten in einem Report befinden und welche TYPE-Werte Sie verwenden müssen, um sie zu identifizieren.
TABLE FILE EMPLOYEE SUM DED_AMT AND GROSS BY DEPARTMENT BY PAY_DATE ON DEPARTMENT RECAP DEPT_NET/D8.2M = GROSS-DED_AMT; WHEN PAY_DATE GT 820101 ON DEPARTMENT SUBTOTAL END
Die folgende Abbildung zeigt alle Komponenten:
Hinweis: Da diese Anfrage einfach nur zeigt, wie man verschiedene Summentypen und Zwischensummentypen identifiziert, wird das StyleSheet weglassen.
TYPE=type, [BY=sortfield] [coltype=column]
Hierbei gilt:
Identifiziert eine Zwischensumme oder eine Summe. Wählen Sie aus den folgenden Optionen aus:
GRANDTOTAL ist eine Gesamtsumme (erzeugt durch COLUMN-TOTAL, SUBTOTAL, SUB-TOTAL, RECOMPUTE oder SUMMARIZE). Ein Beispiel finden Sie unter Eine Gesamtsumme identifizieren.
SUBTOTAL ist eine Zwischensumme (erzeugt durch SUBTOTAL, SUB-TOTAL, RECOMPUTE oder SUMMARIZE). Ein Beispiel finden Sie unter Zwischensummen identifizieren.
RECAP ist eine Zwischensummenberechnung (erzeugt durch ON sortfield RECAP oder ON sortfield COMPUTE). Ein Beispiel finden Sie unter Eine Zwischensummenberechnung identifizieren (RECAP/COMPUTE).
Falls Sie eine Anfrage mit mehreren BY-Feldern besitzen und zwei oder mehr davon Zwischensummenbefehle mit ihnen assoziiert haben, dann können Sie jedes Feld mit dem BY-Identifikator identifizieren. Dies ist hilfreich, wenn Sie die Zwischensummen unterschiedlich formatieren oder nur eine Zwischensumme formatieren möchten.
Sie müssen den BY-Identifikator nur mit einbeziehen, wenn Sie mehrere BY-Felder in Ihrer Anfrage haben.
Gibt das BY-Feld an, das mit mehreren Zwischensummenbefehlen eines Reports assoziiert ist. Verwenden Sie den Feldnamen für den Wert (BY=fieldname).
Identifiziert eine bestimmte Spalte, auf die Formatierung angewendet werden soll. Wenn Sie die COLUMN- oder ACROSSCOLUMN-Identifikatoren in Ihre Deklaration aufnehmen, werden nur die Zwischensummen-Werte Formatierung erhalten, der bezeichnende Text aber nicht. Dies können die Werte sein:
COLUMN ist eine Anzeigespalte (erzeugt durch PRINT, LIST, SUM oder COUNT) oder eine berechnete Spalte (erzeugt durch COMPUTE).
ACROSSCOLUMN wobei jede Instanz einer Anzeige und einer berechneten Spalte über eine horizontale Sortierungsreihe (ACROSS) wiederholt werden.
Falls es mehrere Spalten gibt, deren Summe oder Zwischensumme durch einen Befehl erstellt wird und Sie im StyleSheet keine Spalte angeben, wird die Formatierung auf die Summen oder Zwischensummen für alle Spalten angewendet. Sie wird auch auf den Labeltext der Summen- und Zwischensummenwerte angewendet.
Gibt die Spalte an, deren Summen oder Zwischensummen Sie formatieren möchten. Eine Liste der Werte finden Sie unter Eine gesamte Spalte identifizieren.
Das Folgende zeigt, wie Sie eine Gesamtsumme in einer Reportanfrage identifizieren. In diesem Beispiel wollen wir nur den Gesamtsummenwert für das Feld LINE_COGS formatieren, so dass das Attribut COLUMN in der StyleSheet-Deklaration enthalten ist. Die Gesamtsumme in der Anfrage wird durch COLUMN-TOTAL erzeugt. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
Hinweis:
TABLE FILE CENTORD
SUM QUANTITY LINEPRICE LINE_COGS AND COLUMN-TOTAL
BY ORDER_NUM BY PRODNAME
WHERE ORDER_NUM EQ '48053' OR '48798'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$
TYPE=GRANDTOTAL, COLUMN=LINE_COGS, STYLE=BOLD, SIZE=11,$
ENDSTYLE
END
Die Ausgabe ist:
Nachfolgend sehen Sie, wie Sie Zwischensummen in einer Reportanfrage identifizieren. In diesem Beispiel werden nur Zwischensummenwerte in den Feldern und QUANTITY und LINE_COGS formatiert. Das COLUMN-Attribut wird so in die StyleSheet-Deklaration aufgenommen.
Da zwei SUBTOTAL-Befehle mit zwei der drei BY-Felder assoziiert werden (PLANT und ORDER_NO), wird das BY-Attribut ebenfalls in jede Deklaration mit einbezogen, um sicherzustellen, dass die Formatierung auf den richtigen Wert angewendet wird. Die relevanten StyleSheet-Deklarationen sind in der Anfrage markiert.
Hinweis:
TABLE FILE CENTORD
SUM QUANTITY LINEPRICE LINE_COGS AS 'Line Cost of, Goods Sold'
BY PLANT
BY ORDER_NUM
BY PRODNAME
ON PLANT SUBTOTAL
ON ORDER_NUM SUBTOTAL
WHERE ORDER_NUM EQ '35774' OR '48041'
WHERE PLANT EQ 'BOS'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF,$
TYPE=SUBTOTAL, BY=PLANT, COLUMN=LINE_COGS, STYLE=BOLD+ITALIC,
COLOR=BLUE,$
TYPE=SUBTOTAL, BY=ORDER_NUM, COLUMN=QUANTITY, STYLE=BOLD, SIZE=11,$
ENDSTYLE
END
Die Ausgabe ist:
Im Folgenden wird beschrieben, wie Sie eine Zwischensummenberechnung, die mit einer RECAP- oder COMPUTE-Phrase erstellt wurde, identifizieren. In diesem Beispiel wird die Zwischensummenberechnung mit ON PLANT RECAP QTY/F6=QUANTITY erzeugt. Die relevante StyleSheet-Deklaration ist in der Anfrage markiert.
Hinweis: Falls es mehr als ein RECAP- oder COMPUTE-Feld in Ihrer Anfrage gibt, können Sie diese unterscheiden, indem Sie der StyleSheet-Deklaration BY=fieldname hinzufügen.
TABLE FILE CENTORD
SUM QUANTITY LINEPRICE LINE_COGS AS 'Line Cost of, Goods Sold'
BY PLANT BY ORDER_NUM
ON PLANT RECAP QTY/F6=QUANTITY;
WHERE PLANT EQ 'BOS'
WHERE ORDER_NUM LT '56098'
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLE *
TYPE=REPORT, GRID=OFF, $
TYPE=RECAP, STYLE=BOLD+ITALIC, $
ENDSTYLE
END
Die Ausgabe ist:
WebFOCUS |