Vorgehensweise: Referenz: |
Sie können Datensätze basierend auf dem aggregierten Wert eines Feldes auswählen. Beispielsweise basierend auf der Summe von Feldwerten oder auf dem Durchschnitt von Feldwerten, indem Sie die Phrase WHERE TOTAL verwenden. WHERE TOTAL ist sehr hilfreich, wenn Sie die Anzeigebefehle für die Aggregation SUM und COUNT einsetzen und ist für Felder mit einem Präfixoperator wie AVE. und PCT. erforderlich.
Bei WHERE-Tests werden die Daten ausgewertet, bevor sie abgerufen werden. Bei WHERE TOTAL-Tests werden die Daten jedoch ausgewählt, nachdem alle Daten abgerufen und verarbeitet wurden. Ein Beispiel finden Sie unter WHERE TOTAL für die Datensatzauswahl verwenden.
WHERE TOTAL criteria[;]
Hierbei gilt:
Im folgenden Beispiel werden derzeitige Gehälter nach Abteilung summiert.
TABLE FILE EMPLOYEE SUM CURR_SAL BY DEPARTMENT END
Die Ausgabe ist:
DEPARTMENT CURR_SAL ---------- -------- MIS $108,002.00 PRODUCTION $114,282.00
Fügen Sie nun der Anfrage eine WHERE TOTAL-Phrase hinzu, um einen Report zu erzeugen, der nur die Abteilungen auflistet, in denen die Summe der Gehälter mehr als $110.000 beträgt.
TABLE FILE EMPLOYEE SUM CURR_SAL BY DEPARTMENT WHERE TOTAL CURR_SAL EXCEEDS 110000 END
Es wird der Wert für jede Abteilung berechnet und der Endwert mit $110.000 verglichen. Die Ausgabe ist:
DEPARTMENT CURR_SAL ---------- -------- PRODUCTION $114,282.00
In der folgenden Anfrage werden Datensätze für die MIS-Abteilung extrahiert. Dann wird CURR_SAL für jeden Angestellten summiert. Wenn das Gesamtgehalt eines Angestellten mehr als $20.000 beträgt, werden die Werte von CURR_SAL für den Report verarbeitet. Mit anderen Worten prüft WHERE TOTAL die Daten, nachdem die Datensätze ausgewählt wurden.
TABLE FILE EMPLOYEE SUM CURR_SAL BY LAST_NAME AND BY FIRST_NAME WHERE TOTAL CURR_SAL EXCEEDS 20000 WHERE DEPARTMENT IS 'MIS' END
Die Ausgabe ist:
LAST_NAME FIRST_NAME CURR_SAL --------- ---------- -------- BLACKWOOD ROSEMARIE $21,780.00 CROSS BARBARA $27,062.00
WebFOCUS |