GlideAggregat – Umfang

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 13 Minuten Lesedauer
  • Die GlideAggregat API ermöglicht das Erstellen von Abfragen zur Datenbankzusammenfassung.

    Die GlideAggregat Klasse ist eine Erweiterung von GlideRecord Klasse und bietet Datenbankzusammenfassung (AVG, COUNT, GROUP_CONCAT, GROUP_CONCAT_DISTINCT, MAX, MIN., STDDEV, SUMME) ABFRAGEN. Diese Funktion kann hilfreich sein, wenn Sie angepasste Berichte erstellen oder Berechnungen für berechnete Felder durchführen.

    Wenn Sie verwenden GlideAggregat Methoden für Währungs- oder Preisfelder verwenden Sie den Referenzwährungswert. Stellen Sie sicher, dass Sie die Zusammenfassungswerte für die Anzeige in die Sitzungswährung des Benutzers konvertieren. Weil der Wechselkurs zwischen der Währung oder dem Preiswert (angezeigter Wert) und der Referenz Währung Der Wert (Zusammenfassungswert) kann sich ändern, das Ergebnis ist möglicherweise nicht das, was der Anwender erwartet.

    Hinweis:
    Wenn Sie ein On-Premise-System verwenden, muss die Zeitzone des Datenbankservers auf GMT/UTC gesetzt sein, damit diese Klasse ordnungsgemäß funktioniert.

    Scoped GlideAggregate – GlideAggregate(String tableName)

    Erstellt ein GlideAggregate-Objekt in der angegebenen Tabelle.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    tableName Zeichenfolge Name der Tabelle.
    var count = new GlideAggregate('incident');

    Scoped GlideAggregate – addAggregate(String agg, String name)

    Fügt einer Datenbankabfrage ein Aggregat hinzu.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    agg Zeichenfolge Name eines zu verwendenden Aggregats.
    Gültige Werte:
    • DURCHSCHNITT: Durchschnittswert des Ausdrucks.
    • ANZAHL: Anzahl der nicht-Null-Werte.
    • GROUP_CONCAT: Verkettet alle nicht-Null-Werte der Gruppe in aufsteigender Reihenfolge, verbindet sie mit einem Komma („,“) und gibt das Ergebnis als Zeichenfolge zurück.
    • GROUP_CONCAT_DISTINCT: Verkettet alle nicht-Null-Werte der Gruppe in aufsteigender Reihenfolge, entfernt Duplikate, verbindet sie mit einem Komma („,“) und gibt das Ergebnis als Zeichenfolge zurück.
    • MAX.: Größter oder maximaler Wert.
    • MIN.: Mindestwert.
    • STDDEV: Standardabweichung der Population.
    • SUMME: Summe aller Werte.
    name Zeichenfolge Optional. Name des Felds, nach dem die Ergebnisse der Zusammenfassung gruppiert werden sollen.

    Standard: Null

    Tabelle : 3. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt die Verwendung GlideAggregat Funktionen in der Tabelle „Incident“ [Incident].

    var incidentGA = new GlideAggregate('incident');
    incidentGA.groupBy('category');
    incidentGA.orderByAggregate('COUNT', 'sys_mod_count');
    
    incidentGA.addAggregate('AVG', 'sys_mod_count');
    incidentGA.addAggregate('COUNT', 'sys_mod_count');
    incidentGA.addAggregate('GROUP_CONCAT', 'sys_mod_count');
    incidentGA.addAggregate('GROUP_CONCAT_DISTINCT', 'sys_mod_count');
    incidentGA.addAggregate('MAX', 'sys_mod_count');
    incidentGA.addAggregate('MIN', 'sys_mod_count');
    incidentGA.addAggregate('STDDEV', 'sys_mod_count');
    incidentGA.addAggregate('SUM', 'sys_mod_count');
    
    incidentGA.query();
    
    while (incidentGA.next()) {
    gs.info('CATEGORY: ' + incidentGA.getValue('category'));
    gs.info('AVG: ' + incidentGA.getAggregate('AVG', 'sys_mod_count'));
    gs.info('COUNT: ' + incidentGA.getAggregate('COUNT', 'sys_mod_count'));
    gs.info('GROUP_CONCAT: ' + incidentGA.getAggregate('GROUP_CONCAT', 'sys_mod_count'));
    gs.info('GROUP_CONCAT_DISTINCT: ' + incidentGA.getAggregate('GROUP_CONCAT_DISTINCT', 'sys_mod_count'));
    gs.info('MAX: ' + incidentGA.getAggregate('MAX', 'sys_mod_count'));
    gs.info('MIN: ' + incidentGA.getAggregate('MIN', 'sys_mod_count'));
    gs.info('STDDEV: ' + incidentGA.getAggregate('STDDEV', 'sys_mod_count'));
    gs.info('SUM: ' + incidentGA.getAggregate('SUM', 'sys_mod_count'));
    gs.info(' ');
    }

    Ausgabe.

    CATEGORY: inquiry
    AVG: 8.42424242424242424242424242424242424242E00
    COUNT: 33
    GROUP_CONCAT: 0,0,0,0,1,2,2,4,4,4,5,5,5,6,6,6,6,6,6,6,6,7,8,8,8,8,9,15,15,19,32,33,36
    GROUP_CONCAT_DISTINCT: 0,1,2,4,5,6,7,8,9,15,19,32,33,36
    MAX: 36
    MIN: 0
    STDDEV: 9.15843294125113629932710147135171494439E00
    SUM: 278
      
    CATEGORY: software
    AVG: 21
    COUNT: 13
    GROUP_CONCAT: 3,4,5,5,6,7,9,10,10,11,14,94,95
    GROUP_CONCAT_DISTINCT: 3,4,5,6,7,9,10,11,14,94,95
    MAX: 95
    MIN: 3
    STDDEV: 3.27693962918655755532970326989852794087E01
    SUM: 273
      
    CATEGORY: Hardware
    AVG: 6.8
    COUNT: 10
    GROUP_CONCAT: 2,5,5,6,6,6,7,7,9,15
    GROUP_CONCAT_DISTINCT: 2,5,6,7,9,15
    MAX: 15
    MIN: 2
    STDDEV: 3.39280283999985933622820108982884699755E00
    SUM: 68
      
    CATEGORY: network
    AVG: 18
    COUNT: 5
    GROUP_CONCAT: 3,12,17,21,37
    GROUP_CONCAT_DISTINCT: 3,12,17,21,37
    MAX: 37
    MIN: 3
    STDDEV: 1.25698050899765347157025586536136512302E01
    SUM: 90
      
    CATEGORY: 
    AVG: 9.5
    COUNT: 4
    GROUP_CONCAT: 8,8,10,12
    GROUP_CONCAT_DISTINCT: 8,10,12
    MAX: 12
    MIN: 8
    STDDEV: 1.91485421551267621995020382273964310607E00
    SUM: 38
      
    CATEGORY: database
    AVG: 29
    COUNT: 2
    GROUP_CONCAT: 8,50
    GROUP_CONCAT_DISTINCT: 8,50
    MAX: 50
    MIN: 8
    STDDEV: 2.969848480983499602483546320840365965E01
    SUM: 58

    Scope GlideAggregate – addEncodedQuery (String query)

    Fügt den anderen Abfragen, die möglicherweise für diese Zusammenfassung festgelegt wurden, eine verschlüsselte Abfrage hinzu.

    Tabelle : 4. Parameter
    Name Typ Beschreibung
    query Zeichenfolge Eine verschlüsselte Abfrage, die der Zusammenfassung hinzugefügt werden soll.
    Tabelle : 5. Ergebnisse
    Typ Beschreibung
    Keine
    //Number of incidents varies depending on the current state
    //of the incident table
    var count = new GlideAggregate('incident');
    count.addEncodedQuery('active=true');
    count.addAggregate('COUNT');
    count.query();
    var incidents = 0;
    if (count.next())
       incidents = count.getAggregate('COUNT');
    gs.info(incidents);

    Scoped GlideAggregate – addQuery(String name, String operator, String value)

    Fügt der Zusammenfassung eine Abfrage hinzu.

    Tabelle : 6. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Hinzuzufügende Abfrage.
    operator Zeichenfolge Operator für die Abfrage.
    Wert Zeichenfolge Liste der Werte, die in die Abfrage aufgenommen werden sollen.
    Tabelle : 7. Rückgaben
    Typ Beschreibung
    GlideQueryCondition Abfragebedingung.
    //Number of incidents varies depending on the current state
    //of the incident table
    var count = new GlideAggregate('incident');
    count.addQuery('active', '=','true');
    count.addAggregate('COUNT', 'category');
    count.query();  
    while (count.next()) {
       var category = count.category;
       var categoryCount = count.getAggregate('COUNT', 'category');
       gs.info("There are currently " + categoryCount + " incidents with a category of " + category);
    }
    Ausgabe:
    There are currently 1 incidents with a category of database
    There are currently 5 incidents with a category of hardware
    There are currently 42 incidents with a category of inquiry
    There are currently 4 incidents with a category of network
    There are currently 4 incidents with a category of request
    There are currently 7 incidents with a category of software

    Scoped GlideAggregate – addNotNullQuery(String fieldName)

    Fügt der Zusammenfassung eine nicht leere Abfrage hinzu.

    Tabelle : 8. Parameter
    Name Typ Beschreibung
    fieldname Zeichenfolge Name des Felds.
    Tabelle : 9. Ergebnisse
    Typ Beschreibung
    GlideQueryCondition Bereichsbezogene Abfragebedingung.
    var count = new GlideAggregate('incident');
      count.addNotNullQuery('short_description');
      count.query();   // Issue the query to the database to get all records
      while (count.next()) {   
         // add code here to process the aggregate
      }

    Scoped GlideAggregate – addNullQuery(String fieldName)

    Fügt der Zusammenfassung eine Nullabfrage hinzu.

    Tabelle : 10. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Name des Felds.
    Tabelle : 11. Ergebnisse
    Typ Beschreibung
    GlideQueryCondition Die bereichsbezogene Abfragebedingung.
    var count = new GlideAggregate('incident');
      count.addNullQuery('short_description');
      count.query();   // Issue the query to the database to get all records
      while (count.next()) {   
         // add code here to process the aggregate
      }

    Bereichsbezogenes GlideAggregat – addTrend(String fieldName, String timeInterval, NummernnummernEinheiten)

    Fügt einen Trend für ein angegebenes Feld hinzu. Verwenden Sie einen Trend, um Muster über einen bestimmten Zeitraum anzuzeigen.

    Hinweis:
    Um zu steuern, ob eine Gruppe durchgeführt werden soll dayofweekErgebnisse nach Jahr, verwenden Bereichsbezogenes GlideAggregat – setIntervalYearIncluded (boolescher Wert b).
    Tabelle : 12. Parameter
    Name Typ Beschreibung
    fieldName Zeichenfolge Name des Felds, für das Trends auftreten sollen.
    timeInterval Zeichenfolge Zeitintervall für den Trend.
    Gültige Werte:
    • Datum
    • wochentag
    • Stunde
    • Minute
    • Quartal
    • Wert
    • Woche
    • Jahr
    Numerische Einheiten Anzahl Optional. Nur gültig, wenn timeInterval= Minute . Anzahl der Minuten, die in den Trend aufgenommen werden sollen.

    Standard: 1

    Tabelle : 13. Rückgaben
    Typ Beschreibung
    void
    var ga = new GlideAggregate('incident');
    ga.addAggregate('COUNT'); // Count all incidents opened each quarter
    ga.addTrend('opened_at', 'quarter');
    ga.query();
    while(ga.next()) {
     gs.info([ga.getValue('timeref'), ga.getAggregate('COUNT')]);
    }
    Ausgabe:
    3/2018, 9
    4/2018, 2
    1/2019, 38
    2/2019, 310

    Scoped GlideAggregate – getAggregate(String agg, String name)

    Gibt den Wert eines Aggregats aus dem aktuellen Datensatz zurück.

    Tabelle : 14. Parameter
    Name Typ Beschreibung
    agg Zeichenfolge Typ des Aggregats.
    Gültige Werte:
    • DURCHSCHNITT: Durchschnittswert des Ausdrucks.
    • ANZAHL: Anzahl der nicht-Null-Werte.
    • GROUP_CONCAT: Verkettet alle nicht-Null-Werte der Gruppe in aufsteigender Reihenfolge, verbindet sie mit einem Komma („,“) und gibt das Ergebnis als Zeichenfolge zurück.
    • GROUP_CONCAT_DISTINCT: Verkettet alle nicht-Null-Werte der Gruppe in aufsteigender Reihenfolge, entfernt Duplikate, verbindet sie mit einem Komma („,“) und gibt das Ergebnis als Zeichenfolge zurück.
    • MAX.: Größter oder maximaler Wert.
    • MIN.: Mindestwert.
    • STDDEV: Standardabweichung der Population.
    • SUMME: Summe aller Werte.
    name Zeichenfolge Name des Felds, für das die Zusammenfassung durchgeführt werden soll.
    Tabelle : 15. Rückgaben
    Typ Beschreibung
    Zeichenfolge Der Wert der Zusammenfassung.
    Wenn die aggregierten Werte FX-Währungswerte sind, wird der zurückgegebene Wert im Format angegeben <currency_code;currency_value> , Z. B.: USD;134,980000 .
    Hinweis:
    Wenn das angegebene Feld FX-Währungswerte gemischter Währungstypen enthält, kann die Methode die Werte nicht aggregieren und gibt ein Semikolon (;) zurück.

    Zeigt eine Zusammenfassung an, die die Anzahl der Datensätze in der Incident-Tabelle zurückgibt.

    var count = new GlideAggregate('incident');
    count.addAggregate('COUNT');
    count.query();
    var incidents = 0;
    if (count.next()) {
      incidents = count.getAggregate('COUNT');
    }
    //Number of incidents varies depending on the current state
    //of the incident table
    gs.info('Number of incidents: ' + incidents);

    Ausgabe: Anzahl der Incidents: 63.

    Zeigt die Zusammenfassung eines FX-Währungsfelds an.

    var ga = new GlideAggregate('laptop_tracker');
    ga.addAggregate('SUM', 'cost');
    ga.groupBy('name');
    ga.query();
    while (ga.next()) {
      gs.info('Aggregate results ' + ga.getValue('name') + ' => ' + ga.getAggregate('SUM', 'cost'));
    }

    Ausgabe:

    *** Script: Aggregate results Apple MacBook Air => USD;1651.784280000000
    *** Script: Aggregate results Apple MacBook Pro => USD;1651.784280000000
    *** Script: Aggregate results Dell XPS => USD;470.852672000000
    *** Script: Aggregate results LG =>
    *** Script: Aggregate results Samsung Galaxy => USD;225.320000000000
    *** Script: Aggregate results Surface3 => USD;2895.560369520000
    *** Script: Aggregate results Toshiba => USD;9385.202875800000

    Scoped GlideAggregate – getAggregateEncodedQuery()

    Ruft die erforderliche Abfrage ab, um die aktuelle Zusammenfassung zurückzugeben.

    Tabelle : 16. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 17. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Codierte Abfrage zum Abrufen des Aggregats.
    var count = new GlideAggregate('incident');
    count.addAggregate('MIN', 'sys_mod_count');
    count.groupBy('category');
    count.query();  
    while (count.next()) {
        gs.info(count.getAggregateEncodedQuery());
    }
    Ausgabe:
    category=database
    category=hardware
    category=inquiry
    category=network
    category=request
    category=software

    Scoped GlideAggregate – getEncodedQuery()

    Ruft die verschlüsselte Abfrage ab.

    Tabelle : 18. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 19. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Codierte Abfrage.
    var count = new GlideAggregate('incident');
    count.addAggregate('MIN', 'sys_mod_count');
    count.addAggregate('MAX', 'sys_mod_count');
    count.addAggregate('AVG', 'sys_mod_count');
    count.groupBy('category');
    count.query();
    gs.info(count.getEncodedQuery());
    Ausgabe:
    ORDERBYcategory^GROUPBYcategory

    Scoped GlideAggregate – getRowCount()

    Ruft die Anzahl der Zeilen im GlideAggregate-Objekt ab.

    Tabelle : 20. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 21. Ergebnisse
    Typ Beschreibung
    Anzahl Anzahl der Zeilen im GlideAggregate-Objekt.
    var count = new GlideAggregate('incident');
      count.addAggregate('MIN', 'sys_mod_count');
      count.addAggregate('MAX', 'sys_mod_count');
      count.addAggregate('AVG', 'sys_mod_count');
      count.groupBy('category');
      count.query();
      gs.info(count.getRowCount());
      while (count.next()) {  
         var min = count.getAggregate('MIN', 'sys_mod_count');
         var max = count.getAggregate('MAX', 'sys_mod_count');
         var avg = count.getAggregate('AVG', 'sys_mod_count');
         var category = count.category.getDisplayValue();
         gs.info(category + " Update counts: MIN = " + min + " MAX = " + max + " AVG = " + avg);
      }
    Ausgabe:
    6
    Database Update counts: MIN = 8 MAX = 48 AVG = 28.0000
    Hardware Update counts: MIN = 4 MAX = 14 AVG = 6.6250
    Inquiry / Help Update counts: MIN = 0 MAX = 34 AVG = 6.5714
    Network Update counts: MIN = 3 MAX = 37 AVG = 18.6000
    Request Update counts: MIN = 5 MAX = 39 AVG = 13.4000
    Software Update counts: MIN = 4 MAX = 98 AVG = 24.0000

    Scoped GlideAggregate – getTableName()

    Ruft den Tabellennamen ab, der diesem GlideAggregate-Objekt zugeordnet ist.

    Tabelle : 22. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 23. Ergebnisse
    Typ Beschreibung
    Zeichenfolge Tabellenname.
    var count = new GlideAggregate('incident');
    count.addAggregate('MIN', 'sys_mod_count');
    count.addAggregate('MAX', 'sys_mod_count');
    count.addAggregate('AVG', 'sys_mod_count');
    count.groupBy('category');
    count.query();
    gs.info(count.getTableName());

    Scoped GlideAggregate – getValue(String name)

    Gibt den Wert des angegebenen Felds zurück.

    Tabelle : 24. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Felds in der aktuellen Tabelle, das zurückgegeben werden soll.
    Tabelle : 25. Rückgaben
    Typ Beschreibung
    Zeichenfolge Wert des angegebenen Felds. Gibt Null zurück, wenn ungültig (nicht Teil des Ergebnissatzes).
    var count = new GlideAggregate('incident');
    count.addAggregate('MAX', 'sys_mod_count');
    count.groupBy('category');
    count.query();   
    while (count.next()) {  
      gs.info(count.getValue('category') + " category had " + count.getAggregate('MAX', 'sys_mod_count') + " updates");  
    }

    Ausgabe:

    category had 12 updates
    hardware category had 15 updates
    inquiry category had 36 updates
    network category had 37 updates
    software category had 95 updates

    Scoped GlideAggregate – groupBy(String name)

    Gibt den Namen eines Feldes an, das zur Gruppierung der Zusammenfassungen verwendet werden soll.

    Kann mehrfach aufgerufen werden, um mehrere Gruppenfelder festzulegen.

    Tabelle : 26. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Felds.
    Tabelle : 27. Ergebnisse
    Typ Beschreibung
    Keine
    var count = new GlideAggregate('incident');
    count.addAggregate('MIN', 'sys_mod_count');
    count.addAggregate('MAX', 'sys_mod_count');
    count.addAggregate('AVG', 'sys_mod_count');
    count.groupBy('category');
    count.query();   
    while (count.next()) {  
         var min = count.getAggregate('MIN', 'sys_mod_count');
         var max = count.getAggregate('MAX', 'sys_mod_count');
         var avg = count.getAggregate('AVG', 'sys_mod_count');
         var category = count.category.getDisplayValue();
         gs.info(category + " Update counts: MIN = " + min + " MAX = " + max + " AVG = " + avg);
    }
    Ausgabe:
    Database Update counts: MIN = 8 MAX = 48 AVG = 28.0000
    Hardware Update counts: MIN = 4 MAX = 14 AVG = 6.6250
    Inquiry / Help Update counts: MIN = 0 MAX = 34 AVG = 6.5714
    Network Update counts: MIN = 3 MAX = 37 AVG = 18.6000
    Request Update counts: MIN = 5 MAX = 39 AVG = 13.4000
    Software Update counts: MIN = 4 MAX = 98 AVG = 24.0000
    

    Scoped GlideAggregate – hasNext()

    Bestimmt, ob weitere Datensätze im GlideAggregate-Objekt vorhanden sind.

    Tabelle : 28. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 29. Ergebnisse
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Abfragesatz weitere Ergebnisse enthält.

    Mögliche Werte:
    • Wahr: Der Abfragesatz enthält weitere Ergebnisse.
    • Falsch: Keine weiteren Ergebnisse im Abfragesatz.
    var agg = new GlideAggregate('incident');
    agg.addAggregate('AVG', 'sys_mod_count');
    agg.groupBy('category');
    agg.query();
    while (agg.hasNext()) {
        agg.next();
        var avg = agg.getAggregate('AVG', 'sys_mod_count');
        var category = agg.category.getDisplayValue();
        gs.info(category + ': AVG = ' + avg);
    }
    Ausgabe:
    Database: AVG = 32.5000
    Hardware: AVG = 12.0000
    Inquiry / Help: AVG = 7.6667
    Network: AVG = 24.0000
    Request: AVG = 16.4000
    Software: AVG = 27.0833

    Scoped GlideAggregate – next()

    Wechselt zum nächsten Datensatz im GlideAggregate.

    Tabelle : 30. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 31. Ergebnisse
    Typ Beschreibung
    Boolean

    Kennzeichnung, die angibt, ob der Abfragesatz weitere Ergebnisse enthält.

    Mögliche Werte:
    • Wahr: Der Abfragesatz enthält weitere Ergebnisse.
    • Falsch: Keine weiteren Ergebnisse im Abfragesatz.
    var count = new GlideAggregate('incident');
    count.addAggregate('COUNT');
    count.query();
    var incidents = 0;
    if (count.next()) {
       incidents = count.getAggregate('COUNT');
       gs.info(incidents);
    }

    Scoped GlideAggregate – orderBy(String name)

    Ordnet die Zusammenfassungen mit dem Wert des angegebenen Feldes an. Das Feld wird auch der Liste „Gruppieren nach“ hinzugefügt.

    Tabelle : 32. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Feldes, nach dem die Zusammenfassungen sortiert werden sollen.

    Alternativ können Sie eine Glidefunktion bereitstellen, um die Aggregate anzuordnen, z. B. Glidefunktion:length(short_description) . Weitere Informationen zu Glidefunktionen finden Sie unter Glidefunktionsvorgänge .

    Tabelle : 33. Rückgaben
    Typ Beschreibung
    Keine
    var agg = new GlideAggregate('incident');
    agg.addAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count', 'category');
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count', 'category');
      agg2.orderBy('category');
      gs.info(category + ": Current number of incidents:" + count);
    }
    Ausgabe:
    database: Current number of incidents:2
    hardware: Current number of incidents:8
    inquiry: Current number of incidents:28
    network: Current number of incidents:5
    request: Current number of incidents:5
    software: Current number of incidents:11

    Scoped GlideAggregate – orderByAggregate(String agg, String fieldName)

    Ordnet die Zusammenfassungen basierend auf der angegebenen Zusammenfassung und dem angegebenen Feld an.

    Tabelle : 34. Parameter
    Name Typ Beschreibung
    agg Zeichenfolge Zusammenfassungstyp.
    fieldName Zeichenfolge Name des Feldes, das zusammengefasst werden soll.
    Tabelle : 35. Ergebnisse
    Typ Beschreibung
    void
    ga.addAggregate('COUNT', 'category');
    ga.orderByAggregate('count', 'category');
    ga.query();
    while(ga.next()) {
      gs.info('Category: ' + ga.category + ' ' + ga.getAggregate('COUNT', 'category'));
    }

    Ausgabe:

    Category: inquiry 18
    Category: software 11
    Category: hardware 7
    Category: network 5
    Category: request 5
    Category:  4
    Category: database 2

    Scoped GlideAggregate – orderByDesc(String name)

    Sortiert die Zusammenfassungen in absteigender Reihenfolge basierend auf dem angegebenen Feld. Das Feld wird auch der Gruppieren-nach-Liste hinzugefügt.

    Tabelle : 36. Parameter
    Name Typ Beschreibung
    Name Zeichenfolge Name des Felds.
    Tabelle : 37. Ergebnisse
    Typ Beschreibung
    Keine
    var agg = new GlideAggregate('incident');
    agg.addAggregate('count', 'category'); 
    agg.orderByDesc('category'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count', 'category');
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count', 'category');
      agg2.orderBy('category');
      gs.info(category + ": Current number of incidents:" + count);
    }
    Ausgabe:
    software: Current number of incidents:11
    request: Current number of incidents:5
    network: Current number of incidents:5
    inquiry: Current number of incidents:28
    hardware: Current number of incidents:8
    database: Current number of incidents:2
    

    Scoped GlideAggregate – query()

    Gibt die Abfrage aus und ruft die Ergebnisse ab.

    Tabelle : 38. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 39. Ergebnisse
    Typ Beschreibung
    Keine
    var count = new GlideAggregate('incident');
    count.addAggregate('COUNT');
    count.query();
    var incidents = 0;
    if (count.next()) {
       incidents = count.getAggregate('COUNT');
    }
    gs.info('Number of incidents: ' + incidents);

    Bereichsbezogenes GlideAggregate – setAggregateWindow(Number firstRow, Number lastRow)

    Begrenzt die Anzahl der Zeilen aus der Tabelle, die in die Aggregatabfrage aufgenommen werden sollen.

    Tabelle : 40. Parameter
    Name Typ Beschreibung
    firstRow Anzahl Null-basierter Index der ersten Zeile, die in die Aggregatabfrage aufgenommen werden soll, einschließlich.
    letzte Reihe Anzahl Null-basierter Index der letzten Zeile, die in die Aggregatabfrage aufgenommen werden soll, exklusiv.
    Tabelle : 41. Rückgaben
    Typ Beschreibung
    Keine

    Druckt die Anzahl jeder Kategorie für die ersten zehn Datensätze in der Tabelle „Incident“ [Incident].

    var incidentGroup = new GlideAggregate('incident');
    incidentGroup.addAggregate('COUNT', 'category');
    incidentGroup.setAggregateWindow(0, 10);
    incidentGroup.query();
    while (incidentGroup.next()) {
       var incidentCount = incidentGroup.getAggregate('COUNT', 'category');
       gs.info('{0} count: {1}', [incidentGroup.getValue('category'), incidentCount]);
    }

    Ausgabe:

    database count: 1
    Hardware count: 1
    inquiry count: 7
    software count: 1

    Scoped GlideAggregate – setGroup(Boolean b)

    Legt fest, ob die Rückgabeergebnisse gruppiert werden sollen.

    Tabelle : 42. Parameter
    Name Typ Beschreibung
    b Boolean

    Kennzeichnung, die angibt, ob die Ergebnisse gruppiert werden sollen.

    Gültige Werte:
    • Wahr: Gruppieren Sie die Ergebnisse.
    • Falsch: Gruppieren Sie die Ergebnisse nicht.
    Tabelle : 43. Rückgaben
    Typ Beschreibung
    void
    var ga = new GlideAggregate('incident');
    ga.addAggregate('COUNT', 'category');
     
    ga.setGroup(true);
    ga.groupBy("category");
     
    ga.query();
     
    while(ga.next()) {
      gs.info('Category ' + ga.category + ' ' + ga.getAggregate('COUNT', 'category'));
      }

    Ausgabe:

    Category database 2
    Category hardware 7
    Category inquiry 18
    Category network 5
    Category request 5
    Category software 11

    Bereichsbezogenes GlideAggregat – setIntervalYearIncluded (boolescher Wert b)

    Legt fest, ob Ergebnisse nach Jahr für Wochentagstrends gruppiert werden sollen. Diese Trends werden mit erstellt AddTrend() Methode mit dayofweekZeitintervall.

    Abhängigkeit: Bereichsbezogenes GlideAggregat – addTrend('<fieldName>', 'dayofweek') .

    Tabelle : 44. Parameter
    Name Typ Beschreibung
    b Boolean Kennzeichnung, die angibt, ob ein Jahr für einen Trend mit einem Wochentag-Zeitintervall eingeschlossen werden soll.
    Gültige Werte:
    • Wahr: Wochentagsergebnisse nach Jahr gruppieren.
    • Falsch: Jahr aus Zeitintervallergebnissen ausschließen.

    Standardwert: wahr

    Tabelle : 45. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Beispiel zeigt, wie Incidents gezählt werden, die in den letzten sechs Monaten erstellt wurden. Die Incidents werden nach Wochentag getrennt, jedoch nicht nach Jahr. Zum Beispiel würden die Standardergebnisse für Donnerstag das Jahr enthalten, z. B. Donnerstag/2023: 16 .

    var incidentGroup = new GlideAggregate('incident');
    incidentGroup.addEncodedQuery("sys_created_onRELATIVEGT@month@ago@6");
    incidentGroup.addTrend('sys_created_on', 'dayofweek');
    incidentGroup.addAggregate('COUNT');
    incidentGroup.setIntervalYearIncluded(false);
    incidentGroup.query();
    while (incidentGroup.next()) {
        gs.info(incidentGroup.getValue('timeref') + ': ' + incidentGroup.getAggregate('COUNT'))};

    Ausgabe:

    Sunday: 1
    Monday: 15
    Tuesday: 1
    Wednesday: 7
    Thursday: 16
    Saturday: 1