Ansicht
Dokumentation

ABENCDS_AGGREGATE_FUNCTIONS_V2 - CDS AGGREGATE FUNCTIONS V2

ABENCDS_AGGREGATE_FUNCTIONS_V2 - CDS AGGREGATE FUNCTIONS V2

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- CDS-View-Entität, aggr_expr

... ... ${ MAX( $[ALL$|DISTINCT$] operand )
    $| MIN( $[ALL$|DISTINCT$] operand )
    $| AVG( $[ALL$|DISTINCT$] operand AS dtype )
    $| SUM( $[ALL$|DISTINCT$] operand )
    $| COUNT( DISTINCT operand )
    $| COUNT(*) $} ...


Wirkung

Aggregatausdruck in einer SELECT-Anweisung einer CDS-View-Entität. Ein Aggregatausdruck berechnet aus mehreren Zeilen des Operanden operand einen einzelnen Wert. Die Operanden dürfen nicht vom Typ LCHR, LRAW, STRING, RAWSTRING oder GEOM_EWKB sein. Die folgende Tabelle zeigt die möglichen Aggregatfunktionen:

Aggregatfunktion Bedeutung Ergebnistyp
MAX Gibt den Höchstwert von operand zurück. Datentyp von operand
MIN Gibt den Mindestwert von operand zurück. Datentyp von operand
AVG Durchschnittswert von operand. Muss mit dem Zusatz AS dtype angegeben werden. Die folgenden Datentypen werden unterstützt: INT1, INT2, INT4, INT8, FLTP, DEC, CURR, QUAN, D16N und D34N. Muss hinter AS explizit angegeben werden. Mögliche Datentypen sind DEC, CURR, QUAN, D16N,D34N und FLTP.
SUM Summe von operand. Die folgenden Datentypen werden unterstützt: INT1, INT2, INT4, INT8, FLTP, DEC, CURR, QUAN, D16N und D34N. Datentyp von operand
COUNT Bei Angabe von DISTINCT operand die Anzahl unterschiedlicher Werte von operand und bei Angabe von * die Anzahl der Zeilen der Ergebnismenge. INT4

Bei Verwendung von ALL werden alle Zeilen der Ergebnismenge berücksichtigt (Standardeinstellung). Bei Verwendung von DISTINCT werden nur unterschiedliche Werte von operand berücksichtigt.

Für operand können angegeben werden:

  • Ein Feld einer Datenquelle data_source der aktuellen CDS-View-Entität
  • eine Fallunterscheidung CASE, die einen Wert zurück gibt
  • Ein Cast-Ausdruck
  • Eine eingebaute Funktion, die einen passenden Datentyp zurückgibt

Der Datentyp des Ergebnisses wird bei der Aktivierung der CDS-View festgelegt und richtet sich nach der verwendeten Aggregatfunktion und nach dem Wertebereich der Datentypen der Operanden. Das Ergebnis der Aggregatfunktion AVG muss immer mit dem Zusatz AS dtype angegeben werden.

Beträge und Mengen in Aggregatsausdrücken

Falls der Operand operand einer Aggregatsfunktion ein CDS-Betragsfeld, ein CDS-Mengenfeld oder eine berechnete CDS-Menge ist, ist beim Ergebnistyp eventuell auch eine Referenzannotation erforderlich. In folgender Tabelle wird der Ergebnistyp abhängig vom Operandentyp aller verfügbaren Aggregatsfunktionen gezeigt.

Aggregatfunktion Operandentyp Ergebnistyp
MAX, MIN, SUM, AVG Betrag Betrag
MAX, MIN, SUM, AVG Menge Menge
MAX, MIN, SUM, AVG berechnete Menge berechnete Menge
COUNT Betrag, Menge, berechnete Menge Zahl vom Typ INT4

Operandenpositionen:

  • Aggregatausdrücke können als Elemente einer SELECT-Liste verwendet werden, wo sie einen mit AS definierten alternativen Elementnamen benötigen und bedingen die Verwendung einer GROUP BY-Klausel.
  • Ein Aggregatausdruck kann als Operand lhs in der Bedingung cds_cond einer komplexen Fallunterscheidung oder als Operand rhs bei der Verwendung eines Vergleichsoperators als relationaler Operator verwendet werden.

Hinweise

  • Die Namen der Aggregatfunktionen AVG, COUNT, MAX, MIN und SUM sind geschützt und dürfen nicht als selbstdefinierte Namen verwendet werden.

Beispiel

Mit folgender CDS-View-Entität wird die Verwendung der Aggregatausdrücke AVG, SUM, MIN, MAX und COUNT(*) demonstriert. Zu jeder Aggregation ist ein alternativer Elementname definiert. Mit dem Programm DEMO_CDS_AGGREGATE_VE wird die zugrundeliegende Datenbanktabelle gefüllt, die View-Entität gelesen und das Ergebnis zurückgegeben.

Beispiel

Mit folgender CDS-View-Entität wird die Schachtelung von Aggregatfunktionen und eingebauten CDS-Funktionen demonstriert. Solange sie ein Ergebnis mit passendem Datentyp zurückgeben, können eingebaute CDS-Funktionen als Operanden von Aggregatfunktionen dienen.






General Data in Customer Master   ABAP Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 14711 Date: 20240523 Time: 153310     sap01-206 ( 140 ms )