Vorgehensweise: |
Sie können die WITHIN-Phrase verwenden, um die Werte eines Anzeigefeldes zu manipulieren, wenn sie in einer Sortiergruppe aggregiert werden. Diese Methode kann mit einem Präfixoperator verwendet werden, um Berechnungen mit einem bestimmten aggregierten Feld durchzuführen, und nicht mit einer Reportspalte. Im Gegensatz hierzu aggregieren die SUM- und COUNT-Befehle eine gesamte Spalte.
Die WITHIN-Phrase erfordert eine BY-Phrase und/oder eine ACROSS-Phrase. Es können maximal zwei WITHIN-Phrasen pro Anzeigefeld verwendet werden. Wenn eine WITHIN-Phrase verwendet wird, muss sie für eine BY-Phrase verwendet werden. Wenn zwei WITHIN-Phrasen verwendet werden, muss die erste für eine BY-Phrase verwendet werden und die zweite für eine ACROSS-Phrase.
Sie können auch WITHIN TABLE verwenden, was es Ihnen ermöglicht, den ursprünglichen Wert innerhalb eines Anfragebefehls zurückzugeben. Der Befehl WITHIN TABLE kann auch verwendet werden, wenn eine ACROSS-Phrase ohne eine BY-Phrase benötigt wird. Andernfalls erfordert eine einzelne WITHIN-Phrase eine BY-Phrase.
{SUM|COUNT} display_field WITHIN by_sort_field [WITHIN across_sort_field] BY by_sort_field [ACROSS across_sort_field]
Hierbei gilt:
Ist das Objekt eines SUM- oder COUNT-Anzeigebefehls.
Ist das Objekt einer BY-Phrase.
Ist das Objekt einer ACROSS-Phrase.
Im folgenden Report sehen Sie die verkauften Einheiten und den Prozentanteil der verkauften Einheiten für jedes Produkt im Laden und in der Tabelle:
TABLE FILE SALES SUM UNIT_SOLD AS 'UNITS' AND PCT.UNIT_SOLD AS 'PCT,SOLD,WITHIN,TABLE' AND PCT.UNIT_SOLD WITHIN STORE_CODE AS 'PCT,SOLD,WITHIN,STORE' BY STORE_CODE SKIP-LINE BY PROD_CODE END
Die Ausgabe ist:
WebFOCUS |