Auswahl basierend auf aggregierten Werten

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.


Nach oben

x
Syntax: Datensätze mit WHERE TOTAL auswählen
WHERE TOTAL criteria[;]

Hierbei gilt:

criteria
Sind die Kriterien für die Auswahl von Datensätzen für den Report. Die Kriterien müssen in einer gültigen Formel definiert werden, die wahr (true) oder falsch (false) auswertet (d.h. eine boolesche Formel). Formeln werden in Formeln verwenden ausführlich beschrieben. Operatoren, die in WHERE-Formeln verwendet werden können (wie z. B. IS und GT) werden in Für WHERE- und IF-Tests unterstützte Operatoren.
;
Ist ein optionales Semikolon, das verwendet werden kann, um die Lesbarkeit der Anfrage zu erhöhen. Es beeinflusst den Report nicht.

Nach oben

x
Referenz: Verwendungshinweise für WHERE TOTAL


Beispiel: WHERE TOTAL für die Datensatzauswahl verwenden

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


Beispiel: WHERE TOTAL und WHERE für die Datensatzauswahl kombinieren

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