---
sourceDocument: Xanadu-API-Referenz
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/de-DE/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - de-DE

ft:publication_title :

    - Xanadu-API-Referenz

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# GlideAggregate : Global

# GlideAggregate : Global {#ariaid-title1}

* Freigeben Version: Xanadu
* 
* Aktualisiert 1. August 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 25 Minuten Lesedauer

Die GlideAggregate- API ermöglicht die Erstellung von Datenbankzusammenfassungsabfragen.

Die GlideAggregate -Klasse ist eine Erweiterung der GlideRecord -Klasse und bietet Abfragen für die Datenbankzusammenfassung (AVG, COUNT, GROUP_CONCAT, GROUP_CONCAT_DISTINCT, MAX, MIN, STDDEV, SUM). Diese Funktion kann hilfreich sein, wenn Sie angepasste Berichte erstellen oder Berechnungen für berechnete Felder durchführen.

Wenn Sie GlideAggregate- Methoden für Währungs- oder Preisfelder verwenden, arbeiten Sie mit dem Bezugswährungswert. Stellen Sie sicher, dass Sie die Zusammenfassungswerte für die Anzeige in die Sitzungswährung des Benutzers konvertieren. Da sich der Umrechnungskurs zwischen dem [Währungs-](https://www.servicenow.com/docs/access?context=currency&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US) oder Preiswert (angezeigter Wert) und dem Wert der Referenzwährung (Aggregationswert) ändern kann, entspricht das Ergebnis möglicherweise nicht den Erwartungen des Anwenders.

Um diese API zum Erstellen dynamischer Attribute zu verwenden, benötigen Sie die Rolle „dynamic_schema_writer". Um dynamische Daten mit dieser API zu lesen, benötigen Sie die Rolle „dynamic_schema_reader".

Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US).  
Hinweis:  
Wenn Sie ein On-Premise-System verwenden, muss die Zeitzone des Datenbankservers auf GMT/UTC gesetzt sein, damit diese Klasse ordnungsgemäß funktioniert.

## GlideAggregate -- addAggregate(String agg, String name) {#ariaid-title2}

Fügt einer Datenbankabfrage ein Aggregat hinzu.
{#r_GlideAggregate-addAggregate_String_String__id_zgs_fl2_4nb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| agg | Zeichenfolge | Name des zu verwendenden Aggregats Gültige Werte: * AVG: Durchschnittswert des Ausdrucks. * COUNT: 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 Grundgesamtheit. * SUM: Summe aller Werte. |
| Name | Zeichenfolge | Optional für Feldname. Name des Felds oder Pfad zu einem Attribut in einem dynamischen Attributspeicher, nach dem die Ergebnisse der Zusammenfassung gruppiert werden sollen. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). Standard: Null |
[Tabelle : 1. Parameter]

{#r_GlideAggregate-addAggregate_String_String__id_zgs_fl2_4nb} {#r_GlideAggregate-addAggregate_String_String__table_kzm_kck_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 2. Ergebnisse]

{#r_GlideAggregate-addAggregate_String_String__table_kzm_kck_ws}  
Das folgende Beispiel zeigt, wie GlideAggregate- Funktionen in der Incident-Tabelle \[incident\] verwendet werden.

    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

Das folgende Beispiel zeigt, wie diese Methode mithilfe eines Attributs in einem dynamischen Attributspeicher aufgerufen wird.

    var ga_Inc = new GlideAggregate('incident');
    ga_Inc.groupBy('inc_dynamic_schema->cars->make');
    ga_Inc.addAggregate('AVG', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('MIN', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('MAX', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('SUM', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('COUNT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('STDDEV', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.query();
    while (ga_Inc.next()) {
        gs.info(gr_Inc.getValue('inc_dynamic_schema->cars->make'));
        gs.info('AVG: ' + ga_Inc.getAggregate('AVG', 'inc_dynamic_schema->cars->cost'));
        gs.info('MAX: ' + ga_Inc.getAggregate('MAX', 'inc_dynamic_schema->cars->cost'));
        gs.info('MIN: ' + ga_Inc.getAggregate('MIN', 'inc_dynamic_schema->cars->cost'));
        gs.info('SUM: ' + ga_Inc.getAggregate('SUM', 'inc_dynamic_schema->cars->cost'));
        gs.info('COUNT: ' + ga_Inc.getAggregate('COUNT', 'inc_dynamic_schema->cars->cost'));
        gs.info('STDDEV: ' + ga_Inc.getAggregate('STDDEV', 'inc_dynamic_schema->cars->cost'));
        gs.info('GROUP_CONCAT: ' + ga_Inc.getAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost'));
        gs.info('GROUP_CONCAT_DISTINCT: ' + ga_Inc.getAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost'));
        gs.info('COUNT(DISTINCT: ' + ga_Inc.getAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost'));
        gs.info(' ');
    }

Ausgabe:

    *** Script: BMW
    *** Script: AVG: 31852.066666666667
    *** Script: MAX: 49182
    *** Script: MIN: 16544
    *** Script: SUM: 477781
    *** Script: COUNT: 15
    *** Script: STDDEV: 10376.50218706
    *** Script: GROUP_CONCAT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
    *** Script: GROUP_CONCAT_DISTINCT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
    *** Script: COUNT(DISTINCT: 15
    *** Script:  
    *** Script: Ford
    *** Script: AVG: 31520.090909090909
    *** Script: MAX: 47408
    *** Script: MIN: 16080
    *** Script: SUM: 346721
    *** Script: COUNT: 11
    *** Script: STDDEV: 11355.75551388
    *** Script: GROUP_CONCAT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
    *** Script: GROUP_CONCAT_DISTINCT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
    *** Script: COUNT(DISTINCT: 11
    *** Script:  
    *** Script: Honda
    *** Script: AVG: 31972.750000000000
    *** Script: MAX: 49187
    *** Script: MIN: 15208
    *** Script: SUM: 511564
    *** Script: COUNT: 16
    *** Script: STDDEV: 10240.67632207
    *** Script: GROUP_CONCAT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
    *** Script: GROUP_CONCAT_DISTINCT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
    *** Script: COUNT(DISTINCT: 16
    *** Script:  
    *** Script: Lexus
    *** Script: AVG: 29841.250000000000
    *** Script: MAX: 48406
    *** Script: MIN: 15517
    *** Script: SUM: 238730
    *** Script: COUNT: 8
    *** Script: STDDEV: 12073.56647214
    *** Script: GROUP_CONCAT: 15517,16964,22371,23900,32421,36620,42531,48406
    *** Script: GROUP_CONCAT_DISTINCT: 15517,16964,22371,23900,32421,36620,42531,48406
    *** Script: COUNT(DISTINCT: 8
    *** Script:  
    *** Script: Tesla
    *** Script: AVG: 30790.000000000000
    *** Script: MAX: 45032
    *** Script: MIN: 16724
    *** Script: SUM: 431060
    *** Script: COUNT: 14
    *** Script: STDDEV: 8510.068136760580
    *** Script: GROUP_CONCAT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
    *** Script: GROUP_CONCAT_DISTINCT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
    *** Script: COUNT(DISTINCT: 14
    *** Script:  
    *** Script: Toyota
    *** Script: AVG: 32115.444444444444
    *** Script: MAX: 49418
    *** Script: MIN: 15188
    *** Script: SUM: 289039
    *** Script: COUNT: 9
    *** Script: STDDEV: 12120.76776767
    *** Script: GROUP_CONCAT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
    *** Script: GROUP_CONCAT_DISTINCT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
    *** Script: COUNT(DISTINCT: 9
    *** Script:

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-addAggregate_String_String__section_emz_mjr_mcb}

Um die addAggregate()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [addAggregate()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateAddAggregate_String_String "Fügt einer Datenbankabfrage ein Aggregat hinzu.").

## GlideAggregate -- addBizCalendarTrend(Zeichenfolge fieldName, Zeichenfolge bizCalendarSysId) {#ariaid-title3}

Fügt der Zusammenfassungsabfrage Trends nach einem Geschäftskalender hinzu. Mit dieser Methode können Sie ein Datums- und Uhrzeitfeld im entsprechenden GlideRecord auswählen und Datensätze basierend auf einer angegebenen Geschäftskalenderzeitspanne gruppieren.
Hinweis:  
Bei dieser Methode wird der Join-Operator für die SQL-Abfragen nicht verwendet.
{#GlideAgg-addBizCalendarTrend_S_S__table_opp_y5l_lyb__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| fieldName | Zeichenfolge | Datums- und Uhrzeitfeld im zugeordneten GlideRecord, mit dem bestimmt wird, in welcher Gruppen- oder Kalenderzeitspanne der Datensatz enthalten ist. |
| bizCalendarSysId | Zeichenfolge | Sys_id des zu verwendenden Kalenderdatensatzes. Dies ist der Kalender, der die gewünschten Zeitspannen enthält. |
[Tabelle : 3. Parameter]

{#GlideAgg-addBizCalendarTrend_S_S__table_opp_y5l_lyb} {#GlideAgg-addBizCalendarTrend_S_S__table_ppp_y5l_lyb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 4. Ergebnisse]

{#GlideAgg-addBizCalendarTrend_S_S__table_ppp_y5l_lyb}  
Das folgende Codebeispiel zeigt die Anzahl der Incident-Datensätze, gruppiert nach den Zeitspannen des Geschäftskalenders „Monat".

    var monthCal = "4d7ddda353f3001076bcddeeff7b12b1"
    var ga = new GlideAggregate('incident');
    ga.addAggregate('COUNT');
    ga.addBizCalendarTrend('opened_at', monthCal);
    ga.setGroup(false);
    ga.query();
    gs.print(ga.getRowCount());
    while (ga.next()) {
      gs.info(ga.getValue('bizcalref') + ', ' + ga.getValue('bizcalrefend') + ', ' + ga.getAggregate('COUNT'));
    }

Ausgabe:

    13
    2015-08-01 00:00:00, 2015-09-01 00:00:00, 2
    2015-11-01 00:00:00, 2015-12-01 00:00:00, 2
    2016-08-01 00:00:00, 2016-09-01 00:00:00, 3
    2016-12-01 00:00:00, 2017-01-01 00:00:00, 1
    2018-08-01 00:00:00, 2018-09-01 00:00:00, 3
    2018-09-01 00:00:00, 2018-10-01 00:00:00, 3
    2018-10-01 00:00:00, 2018-11-01 00:00:00, 2
    2019-07-01 00:00:00, 2019-08-01 00:00:00, 2
    2020-06-01 00:00:00, 2020-07-01 00:00:00, 1
    2021-01-01 00:00:00, 2021-02-01 00:00:00, 1
    2023-04-01 00:00:00, 2023-05-01 00:00:00, 15
    2023-05-01 00:00:00, 2023-06-01 00:00:00, 23
    2023-07-01 00:00:00, 2023-08-01 00:00:00, 9

## GlideAggregate -- addEncodedQuery(String query) {#ariaid-title4}

Fügt den anderen Abfragen, die möglicherweise für diese Zusammenfassung festgelegt wurden, eine verschlüsselte Abfrage hinzu.
{#r_GlideAggregate-addEncodedQuery_String__table_vbj_r1k_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| query | Zeichenfolge | Codierte Abfragezeichenfolge, die dem Aggregat hinzugefügt werden soll. |
[Tabelle : 5. Parameter]

{#r_GlideAggregate-addEncodedQuery_String__table_vbj_r1k_ws} {#r_GlideAggregate-addEncodedQuery_String__table_wbj_r1k_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 6. Ergebnisse]

{#r_GlideAggregate-addEncodedQuery_String__table_wbj_r1k_ws}  

    var agg = new GlideAggregate('incident');
    agg.addAggregate('count','category'); 
    agg.orderByAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)'); 
    agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count','category');
      var query = agg.getQuery();  
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count','category');
      agg2.orderByAggregate('count', 'category');
      agg2.orderBy('category');
      agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
      agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
      agg2.addEncodedQuery(query);
      agg2.query();
      var last = "";
      while (agg2.next()) {
         last = agg2.getAggregate('count','category');      
      }
      gs.log(category + ": Last month:" + count + " Previous Month:" + last);
     
    }

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-addEncodedQuery_String__section_t1m_sjr_mcb}

Um die addEncodedQuery()-Methode in einer Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: [addEncodedQuery()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateAddEncodedQuery_String "Fügt den anderen Abfragen, die möglicherweise für diese Zusammenfassung festgelegt wurden, eine verschlüsselte Abfrage hinzu.").

## GlideAggregate -- addHaving(String name, String operator, String value) {#ariaid-title5}

Fügt der Zusammenfassung ein Element vom Typ „hat" hinzu, z. B. Kategorie auswählen, Anzahl (\*) aus Incident-Gruppe nach Kategorie HAVING count(\*) \> 5.
{#r_GlideAggregate-addHaving_String_String_String__table_asq_nbk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Aggregat, nach dem gefiltert werden soll. Beispiel: COUNT. |
| operator | Zeichenfolge | Betreibersymbol. Beispiel: \<, \>, =, !=. |
| Wert | Zeichenfolge | Wert, der abgefragt werden soll. Beispiel: „5". |
[Tabelle : 7. Parameter]

{#r_GlideAggregate-addHaving_String_String_String__table_asq_nbk_ws} {#r_GlideAggregate-addHaving_String_String_String__table_bsq_nbk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 8. Ergebnisse]

{#r_GlideAggregate-addHaving_String_String_String__table_bsq_nbk_ws}  

    var trend = new GlideAggregate('incident');
    trend.addTrend ('opened_at','Month');
    trend.addAggregate('COUNT');

    //addHaving limits the results returned to those in which the aggregate COUNT is greater than 2
    trend.addHaving('COUNT', '>', '2');
    trend.setGroup(false);
    trend.query();
    while(trend.next()) {
      gs.print(('Incidents by month ' + trend.getValue('timeref') + ' where count is more than 2 count is: ' + trend.getAggregate('COUNT'));
    }

Ausgabe:

    Incidents by month 9/2018 where count is more than 2 count is: 3
    Incidents by month 10/2018 where count is more than 2 count is: 8
    Incidents by month 11/2018 where count is more than 2 count is: 14

## GlideAggregate - addHaving(String aggName, String fieldName, Zeichenfolgenoperator, Zeichenfolgenwert) {#ariaid-title6}

Fügt der Zusammenfassung ein Element „hat" hinzu, z. B. Kategorie auswählen, Anzahl(\*) aus Incident-Gruppe nach Kategorie HAVING count(\*) \> 5. Mit dieser Implementierung der Methode können Sie ein bestimmtes Feld in einer Tabelle oder einem dynamischen Feld angeben Attribut, auf das reagiert werden soll.
{#GlideAgg-addHaving_S_S_S_S__table_asq_nbk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| aggName | Zeichenfolge | Aggregat, nach dem gefiltert werden soll. Beispiel: COUNT. |
| fieldName | Zeichenfolge | Feldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicher. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). |
| operator | Zeichenfolge | Betreibersymbol. Beispiel: \<, \>, =, !=. |
| Wert | Zeichenfolge | Wert, der abgefragt werden soll. Beispiel: „5". |
[Tabelle : 9. Parameter]

{#GlideAgg-addHaving_S_S_S_S__table_asq_nbk_ws} {#GlideAgg-addHaving_S_S_S_S__table_bsq_nbk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 10. Ergebnisse]

{#GlideAgg-addHaving_S_S_S_S__table_bsq_nbk_ws}  
Das folgende Codebeispiel zeigt, wie Sie die doppelten Seriennummern in der CMDB-Tabelle mithilfe eines Feldnamens im Methodenaufruf addHaving() identifizieren.

    function getDupes(tableName, dpField) { 
        var ga = new GlideAggregate(tableName);
        ga.addAggregate('COUNT', dpField); // Aggregate to count values in whatever field is passed as dpField
        ga.addHaving('COUNT', dpField, '>', '1'); // Returns only records having more than one active instance of dpField
        ga.query(); 
        var arDupes = new Array(); // Build array to push the results into
        while (ga.next()) { 
          arDupes.push(ga.getValue(dpField)); // Push the value of the dupe field to the array  
        }
        return arDupes;
    }
     
    var tableName = "cmdb";
    var dpField = "serial_number";
     
    gs.print(getDupes(tableName, dpField));

Ausgabe:

    Incidents by month 9/2018 where count is more than 2 count is: 3
    Incidents by month 10/2018 where count is more than 2 count is: 8
    Incidents by month 11/2018 where count is more than 2 count is: 14

Das folgende Beispiel zeigt, wie Du Duplikate identifiziert, verwendet jedoch ein dynamisches Attribut anstelle eines Felds im Methodenaufruf addHaving().

    function getDupes(tableName, dpField) { 
        var ga = new GlideAggregate(tablename);
        ga.addAggregate('COUNT', dpField); // Aggregate to count values in whatever dynamic attribute is passed as dpField
        ga.addHaving('COUNT', dpField, '>', '1'); // Returns only records having more than one active instance of dpField
        ga.query(); 
        var arDupes = new Array(); // Build array to push the results into
        while (ga.next()) { 
          arDupes.push(ga.getValue(dpField)); // Push the value of the dupe field to the array  
        }
        return arDupes;
    }
     
    var tableName = "cmdb";
    var dpField = "dyn_att_field->group->attr";
     
    gs.print(getDupes(tableName, dpField));

Ausgabe:

    Incidents by month 9/2018 where count is more than 2 count is: 3
    Incidents by month 10/2018 where count is more than 2 count is: 8
    Incidents by month 11/2018 where count is more than 2 count is: 14

## GlideAggregate -- addTrend(String fieldName, String timeInterval, Number numUnits) {#ariaid-title7}

Fügt einen Trend für ein Feld hinzu. Verwenden Sie einen Trend, um Muster über einen bestimmten Zeitraum anzuzeigen.
Hinweis:  
Um zu steuern, ob dayofweek Ergebnisse nach Jahr gruppiert werden sollen, verwenden Sie [GlideAggregate -- setIntervalYearIncluded(Boolean b)](https://servicenow-prod.fluidtopics.net/qTjLuB_KwBsShGURd3Cgaw#GlideAgg-setIntervalYearIncluded_B "Legt fest, ob Ergebnisse für Wochentagtrends nach Jahr gruppiert werden sollen. Diese Trends werden mit der Methode „ addTrend() “ mit dem Zeitintervall dayofweek erstellt.").
{#r_GlideAggregate-addTrend_String_String__table_tlk_cdk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| fieldName | Zeichenfolge | Name des Felds, für das Trends erstellt werden sollen. |
| timeInterval | Zeichenfolge | Zeitintervall für den Trend. Gültige Werte: * Datum * Wochentag * Stunde * Minute * Quartal * Wert * Woche * Jahr {#r_GlideAggregate-addTrend_String_String__ul_rm5_xqq_gnb} |
| AnzahlEinheiten | Nummer | Optional. Nur gültig, wenn timeInterval = Minute ist. Anzahl der Minuten, die in den Trend aufgenommen werden sollen. Standard: 1 |
[Tabelle : 11. Parameter]

{#r_GlideAggregate-addTrend_String_String__table_tlk_cdk_ws} {#r_GlideAggregate-addTrend_String_String__table_ulk_cdk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 12. Ergebnisse]

{#r_GlideAggregate-addTrend_String_String__table_ulk_cdk_ws}  

    var trend = new GlideAggregate('incident');  
    trend.addTrend ('opened_at','month');  
    trend.addAggregate('COUNT');  
    trend.setGroup(false);  
    trend.query();  
    while(trend.next()) {  
       gs.print(trend.getValue('timeref') + ': ' + trend.getAggregate('COUNT'));  
    }  

Ausgabe:

    9/2018: 3
    10/2018: 8
    11/2018: 14

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-addTrend_String_String__section_c5j_trd_3z}

Um die Methode addTrend() in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [addTrend()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggAddTrend_S_S "Fügt einen Trend für ein angegebenes Feld hinzu. Verwenden Sie einen Trend, um Muster über einen bestimmten Zeitraum anzuzeigen.").

## GlideAggregate -- getAggregate(String agg, String name) {#ariaid-title8}

Ruft den Wert einer Zusammenfassung aus dem aktuellen Datensatz ab.
{#r_GlideAggregate-getAggregate_String_String__table_udy_sdk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| agg | Zeichenfolge | Typ des Aggregats. Gültige Werte: * AVG: Durchschnittswert des Ausdrucks. * COUNT: 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 Grundgesamtheit. * SUM: Summe aller Werte. |
| name | Zeichenfolge | Name des Felds oder Pfad zu einem Attribut in einem dynamischen Schema, von dem die Zusammenfassung abgerufen werden soll. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). |
[Tabelle : 13. Parameter]

{#r_GlideAggregate-getAggregate_String_String__table_udy_sdk_ws} {#r_GlideAggregate-getAggregate_String_String__table_vdy_sdk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Wert der Zusammenfassung. Wenn die aggregierten Werte FX-Währungswerte sind, hat der zurückgegebene Wert das -Format\<currency_code;currency_value\> , z. B.: `USD;134,980000` . Hinweis: Wenn das angegebene Feld FX-Währungswerte verschiedener Währungstypen enthält, kann die Methode die Werte nicht aggregieren und gibt ein Semikolon (;) zurück. |
[Tabelle : 14. Ergebnisse]

{#r_GlideAggregate-getAggregate_String_String__table_vdy_sdk_ws}  
Dieses Beispiel zeigt, wie Sie die COUNT-Aggregation abrufen.

    function doMyBusinessRule(assigned_to, number) {
      var agg = new GlideAggregate('incident');
      agg.addQuery('assigned_to', assigned_to);
      agg.addQuery('category', number);
      agg.addAggregate("COUNT");
      agg.query();
      var answer = 'false';
      if (agg.next()) {
        answer = agg.getAggregate("COUNT");
        if (answer > 0)
          answer = 'true';
        else
          answer = 'false';
      }
      return answer; 
    }

Dieses Beispiel zeigt die Zusammenfassung eines FX-Währungsfelds.

    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

Das folgende Beispiel zeigt, wie diese Methode mithilfe eines Attributs in einem dynamischen Attributspeicher aufgerufen wird.

    var ga_Inc = new GlideAggregate('incident');
    ga_Inc.groupBy('inc_dynamic_schema->cars->make');
    ga_Inc.addAggregate('AVG', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('MIN', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('MAX', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('SUM', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('COUNT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('STDDEV', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.addAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost');
    ga_Inc.query();
    while (ga_Inc.next()) {
        gs.info(gr_Inc.getValue('inc_dynamic_schema->cars->make'));
        gs.info('AVG: ' + ga_Inc.getAggregate('AVG', 'inc_dynamic_schema->cars->cost'));
        gs.info('MAX: ' + ga_Inc.getAggregate('MAX', 'inc_dynamic_schema->cars->cost'));
        gs.info('MIN: ' + ga_Inc.getAggregate('MIN', 'inc_dynamic_schema->cars->cost'));
        gs.info('SUM: ' + ga_Inc.getAggregate('SUM', 'inc_dynamic_schema->cars->cost'));
        gs.info('COUNT: ' + ga_Inc.getAggregate('COUNT', 'inc_dynamic_schema->cars->cost'));
        gs.info('STDDEV: ' + ga_Inc.getAggregate('STDDEV', 'inc_dynamic_schema->cars->cost'));
        gs.info('GROUP_CONCAT: ' + ga_Inc.getAggregate('GROUP_CONCAT', 'inc_dynamic_schema->cars->cost'));
        gs.info('GROUP_CONCAT_DISTINCT: ' + ga_Inc.getAggregate('GROUP_CONCAT_DISTINCT', 'inc_dynamic_schema->cars->cost'));
        gs.info('COUNT(DISTINCT: ' + ga_Inc.getAggregate('COUNT(DISTINCT', 'inc_dynamic_schema->cars->cost'));
        gs.info(' ');
    }

Ausgabe:

    *** Script: BMW
    *** Script: AVG: 31852.066666666667
    *** Script: MAX: 49182
    *** Script: MIN: 16544
    *** Script: SUM: 477781
    *** Script: COUNT: 15
    *** Script: STDDEV: 10376.50218706
    *** Script: GROUP_CONCAT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
    *** Script: GROUP_CONCAT_DISTINCT: 16544,18427,19083,22144,24126,27018,32353,34934,35691,35698,35799,36814,41257,48711,49182
    *** Script: COUNT(DISTINCT: 15
    *** Script:  
    *** Script: Ford
    *** Script: AVG: 31520.090909090909
    *** Script: MAX: 47408
    *** Script: MIN: 16080
    *** Script: SUM: 346721
    *** Script: COUNT: 11
    *** Script: STDDEV: 11355.75551388
    *** Script: GROUP_CONCAT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
    *** Script: GROUP_CONCAT_DISTINCT: 16080,16082,16996,27621,31662,33478,35201,36965,38085,47143,47408
    *** Script: COUNT(DISTINCT: 11
    *** Script:  
    *** Script: Honda
    *** Script: AVG: 31972.750000000000
    *** Script: MAX: 49187
    *** Script: MIN: 15208
    *** Script: SUM: 511564
    *** Script: COUNT: 16
    *** Script: STDDEV: 10240.67632207
    *** Script: GROUP_CONCAT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
    *** Script: GROUP_CONCAT_DISTINCT: 15208,17926,18365,20942,25557,28215,29090,34336,34857,34969,37144,38097,41541,41805,44325,49187
    *** Script: COUNT(DISTINCT: 16
    *** Script:  
    *** Script: Lexus
    *** Script: AVG: 29841.250000000000
    *** Script: MAX: 48406
    *** Script: MIN: 15517
    *** Script: SUM: 238730
    *** Script: COUNT: 8
    *** Script: STDDEV: 12073.56647214
    *** Script: GROUP_CONCAT: 15517,16964,22371,23900,32421,36620,42531,48406
    *** Script: GROUP_CONCAT_DISTINCT: 15517,16964,22371,23900,32421,36620,42531,48406
    *** Script: COUNT(DISTINCT: 8
    *** Script:  
    *** Script: Tesla
    *** Script: AVG: 30790.000000000000
    *** Script: MAX: 45032
    *** Script: MIN: 16724
    *** Script: SUM: 431060
    *** Script: COUNT: 14
    *** Script: STDDEV: 8510.068136760580
    *** Script: GROUP_CONCAT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
    *** Script: GROUP_CONCAT_DISTINCT: 16724,17173,21049,24837,28431,30594,31871,32549,32675,33778,36963,37946,41438,45032
    *** Script: COUNT(DISTINCT: 14
    *** Script:  
    *** Script: Toyota
    *** Script: AVG: 32115.444444444444
    *** Script: MAX: 49418
    *** Script: MIN: 15188
    *** Script: SUM: 289039
    *** Script: COUNT: 9
    *** Script: STDDEV: 12120.76776767
    *** Script: GROUP_CONCAT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
    *** Script: GROUP_CONCAT_DISTINCT: 15188,16453,24596,28529,32863,34697,42790,44505,49418
    *** Script: COUNT(DISTINCT: 9
    *** Script:

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-getAggregate_String_String__section_pvv_fkr_mcb}

Um die getAggregate()-Methode für eine Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: [getAggregate()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateGetAggregate_String_String "Gibt den Wert einer Zusammenfassung aus dem aktuellen Datensatz zurück.").

## GlideAggregate -- getDynamicAttributeValue(String fullPath) {#ariaid-title9}

Gibt den Wert des dynamischen Attributs zurück, das sich unter einem angegebenen Pfad befindet.
{#GA-getDynamicAttributeValue_S__table_oh3_x1x_1bc__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| VollständigerPfad | Zeichenfolge | Pfad zum Suchen des gewünschten dynamischen Attributs. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. |
[Tabelle : 15. Parameter]

{#GA-getDynamicAttributeValue_S__table_oh3_x1x_1bc} {#GA-getDynamicAttributeValue_S__table_ph3_x1x_1bc__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Wert des dynamischen Attributs, das sich unter dem angegebenen Pfad befindet. Wenn der Parameter fullPath ungültige Daten enthält oder der angegebene Attributwert nicht zu den unterstützten Datentypen gehört, wird null zurückgegeben. |
[Tabelle : 16. Ergebnisse]

{#GA-getDynamicAttributeValue_S__table_ph3_x1x_1bc}  
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var ga_Tab = new GlideAggregate('u_mytable');
    ga_Tab.groupBy('u_dyn_attr_store->paint->color');
    ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
    ga_Tab.query();

    while(ga_Tab.next()) {
        gs.info(
            "color: " + ga_Tab.getDynamicAttributeValue('u_dyn_attr_store->paint->color')
            + "  avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
    }

Ausgabe:

    *** Script: color: blue  avg: 5.0000
    *** Script: color: red  avg: 8.0000
    *** Script: color: yellow  avg: 7.0000

## GlideAggregate -- getDynamicAttributeValue(String dynamicAttributeField, Zeichenfolge groupAttrPath) {#ariaid-title10}

Gibt den Wert des dynamischen Attributs zurück, das sich in einem angegebenen Feld in der aktuellen Tabelle und einem angegebenen Attributpfad befindet.
{#GA-getDynamicAttributeValue_S_S__table_n1f_fbx_1bc__entry__3}{#GA-getDynamicAttributeValue_S_S__DynS-dynamicAttributeField-entry}

| Name | Typ | Beschreibung |
|-|-|-|
| dynamischesAttributFeld | Zeichenfolge | Name des Felds in der Tabelle, das das dynamische Attribut enthält. |
| groupAttrPath | Zeichenfolge | Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs. Format: `"group_name->attr_name"` * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] oder im Feld „Gruppe" der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. * `attr_name`: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Beispiel: `„Auto->Farbe"` |
[Tabelle : 17. Parameter]

{#GA-getDynamicAttributeValue_S_S__table_n1f_fbx_1bc} {#GA-getDynamicAttributeValue_S_S__table_o1f_fbx_1bc__entry__2}

| Typ | Beschreibung |
|-|-|
| Objekt | Wert des dynamischen Attributs, das sich unter dem angegebenen Pfad befindet. Wenn einer der Parameter dynamicAttributeField oder groupAttrPath ungültig ist, wird null zurückgegeben. |
[Tabelle : 18. Ergebnisse]

{#GA-getDynamicAttributeValue_S_S__table_o1f_fbx_1bc}  
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var ga_Tab = new GlideAggregate('u_mytable');
    ga_Tab.groupBy('u_dyn_attr_store->paint->color');
    ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
    ga_Tab.query();

    while(ga_Tab.next()) {
        gs.info(
            "color: " + ga_Tab.getDynamicAttributeValue('u_dyn_attr_store', 'paint->color')
            + "  avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
    }

Ausgabe:

    *** Script: color: blue  avg: 5.0000
    *** Script: color: red  avg: 8.0000
    *** Script: color: yellow  avg: 7.0000

## GlideAggregate -- getDynamicAttributeDisplayValue(String fullPath) {#ariaid-title11}

Gibt den Anzeigewert des dynamischen Attributs zurück, das sich unter dem angegebenen Pfad befindet.
{#GA-getDynAttributeDisplayValue_S__table_nht_nbx_1bc__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| VollständigerPfad | Zeichenfolge | Pfad zum Suchen des gewünschten dynamischen Attributs. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. |
[Tabelle : 19. Parameter]

{#GA-getDynAttributeDisplayValue_S__table_nht_nbx_1bc} {#GA-getDynAttributeDisplayValue_S__table_oht_nbx_1bc__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Anzeigewert des dynamischen Attributs, das sich unter dem angegebenen Pfad befindet. Wenn der Parameter fullPath ungültig ist, wird null zurückgegeben. |
[Tabelle : 20. Ergebnisse]

{#GA-getDynAttributeDisplayValue_S__table_oht_nbx_1bc}  
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var ga_Tab = new GlideAggregate('u_mytable');
    ga_Tab.groupBy('u_dyn_attr_store->paint->color');
    ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
    ga_Tab.query();

    while(ga_Tab.next()) {
        gs.info(
            "color: " + ga_Tab.getDynamicAttributeDisplayValue('u_dyn_attr_store->paint->color')
            + "  avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
    }

Ausgabe:

    *** Script: color: blue  avg: 5.0000
    *** Script: color: red  avg: 8.0000
    *** Script: color: yellow  avg: 7.0000

## GlideAggregate -- getDynamicAttributeDisplayValue(String dynamicAttributeField, Zeichenfolge groupAttrPath) {#ariaid-title12}

Gibt den Anzeigewert des dynamischen Attributs zurück, das sich in einem angegebenen Tabellenfeld und Attributpfad befindet.
{#GA-getDynAttributeDisplayValue_S_S__table_vm3_wbx_1bc__entry__3}{#GA-getDynAttributeDisplayValue_S_S__DynS-dynamicAttributeField-entry}

| Name | Typ | Beschreibung |
|-|-|-|
| dynamischesAttributFeld | Zeichenfolge | Name des Felds in der Tabelle, das das dynamische Attribut enthält. |
| groupAttrPath | Zeichenfolge | Attributpfad zum Suchen des zugeordneten dynamischen Schemaattributs. Format: `"group_name->attr_name"` * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Zu finden im Feld „Name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] oder im Feld „Gruppe" der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. * `attr_name`: Name des dynamischen Attributs innerhalb der dynamischen Gruppe. Befindet sich im Feld Name der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Beispiel: `„Auto->Farbe"` |
[Tabelle : 21. Parameter]

{#GA-getDynAttributeDisplayValue_S_S__table_vm3_wbx_1bc} {#GA-getDynAttributeDisplayValue_S_S__table_wm3_wbx_1bc__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Anzeigewert des dynamischen Attributs, das sich unter dem angegebenen Pfad befindet. Wenn einer der Parameter dynamicAttributeField oder groupAttrPath ungültig ist, wird null zurückgegeben. |
[Tabelle : 22. Ergebnisse]

{#GA-getDynAttributeDisplayValue_S_S__table_wm3_wbx_1bc}  
Das folgende Codebeispiel zeigt, wie diese Methode aufgerufen wird.

    var ga_Tab = new GlideAggregate('u_mytable');
    ga_Tab.groupBy('u_dyn_attr_store->paint->color');
    ga_Tab.addAggregate('AVG', 'u_dyn_attr_store->paint->number');
    ga_Tab.query();

    while(ga_Tab.next()) {
        gs.info(
            "color: " + ga_Tab.getDynamicAttributeDisplayValue('u_dyn_attr_store', 'paint->color')
            + "  avg: " + ga_Tab.getAggregate('AVG', 'u_dyn_attr_store->paint->number'));
    }

Ausgabe:

    *** Script: color: blue  avg: 5.0000
    *** Script: color: red  avg: 8.0000
    *** Script: color: yellow  avg: 7.0000

## GlideAggregate -- getQuery() {#ariaid-title13}

Ruft die für die Rückgabe der aktuellen Zusammenfassung erforderliche Abfrage ab.
{#r_GlideAggregate-getQuery__table_bnl_l2k_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 23. Parameter]

{#r_GlideAggregate-getQuery__table_bnl_l2k_ws} {#r_GlideAggregate-getQuery__table_cnl_l2k_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Die Abfrage. |
[Tabelle : 24. Ergebnisse]

{#r_GlideAggregate-getQuery__table_cnl_l2k_ws}  

    var agg = new GlideAggregate('incident');
    agg.addAggregate('count','category'); 
    agg.orderByAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)'); 
    agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count','category');
      var query = agg.getQuery();  
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count','category');
      agg2.orderByAggregate('count', 'category');
      agg2.orderBy('category');
      agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
      agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
      agg2.addEncodedQuery(query);
      agg2.query();
      var last = "";
      while (agg2.next()) {
         last = agg2.getAggregate('count','category');      
      }
      gs.log(category + ": Last month:" + count + " Previous Month:" + last);
     
    }

## GlideAggregate -- getRowCount() {#ariaid-title14}

Ruft die Anzahl der Zeilen im GlideAggregate-Objekt ab.
{#GlideAgg-getRowCount__table_vy2_535_jq__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 25. Parameter]

{#GlideAgg-getRowCount__table_vy2_535_jq} {#GlideAgg-getRowCount__table_qpt_3f5_jq__entry__2}

| Typ | Beschreibung |
|-|-|
| Nummer | Anzahl der Zeilen im GlideAggregate-Objekt. |
[Tabelle : 26. Ergebnisse]

{#GlideAgg-getRowCount__table_qpt_3f5_jq}  

    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

### Bereichsbezogenes Äquivalent {#GlideAgg-getRowCount__section_cm1_zsn_nyb}

Um die getRowCount()- Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [Scoped GlideAggregate - getRowCount()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateGetRowCount "Ruft die Anzahl der Zeilen im GlideAggregate-Objekt ab.").

## GlideAggregate -- getTotal(String agg, String name) {#ariaid-title15}

Gibt die Anzahl der Datensätze zurück, indem eine Zusammenfassung summiert wird.
{#r_GlideAggregate-getTotal_String_String__table_kl5_v2k_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| agg | Zeichenfolge | Name des zu verwendenden Aggregats Gültige Werte: * AVG: Durchschnittswert des Ausdrucks. * COUNT: 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 Grundgesamtheit. * SUM: Summe aller Werte. |
| Name | Zeichenfolge | Name des Feldes, das zusammengefasst werden soll. |
[Tabelle : 27. Parameter]

{#r_GlideAggregate-getTotal_String_String__table_kl5_v2k_ws} {#r_GlideAggregate-getTotal_String_String__table_ll5_v2k_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Nummer | Anzahl der Datensätze. |
[Tabelle : 28. Ergebnisse]

{#r_GlideAggregate-getTotal_String_String__table_ll5_v2k_ws}  

    var incidentGA = new GlideAggregate('incident');
    incidentGA.addQuery('category', 'software'); 
    incidentGA.addAggregate('COUNT');  
    incidentGA.addTrend('opened_at','year'); // Counting number of incidents for software category per year
    incidentGA.setGroup(false);
    incidentGA.query();
    while(incidentGA.next()){
      gs.info('Incidents opened on year - '+incidentGA.getValue('timeref')+' - '+incidentGA.getAggregate('COUNT'));
    }
    gs.info('Total Aggregate Value >> '+ incidentGA.getTotal('COUNT')); 

Ausgabe:

    Incidents opened on year - 2015 - 1
    Incidents opened on year - 2018 - 5
    Incidents opened on year - 2020 - 10
    Total Aggregate Value >> 16

## GlideAggregate -- getValue(String name) {#ariaid-title16}

Gibt den Wert eines Felds oder eines dynamischen Attributs zurück.
{#r_GlideAggregate-getValue_String__table_odk_kfk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Feldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicher. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. |
[Tabelle : 29. Parameter]

{#r_GlideAggregate-getValue_String__table_odk_kfk_ws} {#r_GlideAggregate-getValue_String__table_qpt_3f5_jq__entry__2}

| Typ | Beschreibung |
|-|-|
| Zeichenfolge | Wert des angegebenen Felds. Gibt null zurück, wenn ungültig (nicht Teil des Ergebnissatzes). |
[Tabelle : 30. Ergebnisse]

{#r_GlideAggregate-getValue_String__table_qpt_3f5_jq}  

    var trend = new GlideAggregate('incident');
    trend.addTrend ('opened_at','Month');
    trend.addAggregate('COUNT');

    //addHaving limits the results returned to those in which the aggregate COUNT is greater than 2
    trend.addHaving('COUNT', '>', '2');
    trend.setGroup(false);
    trend.query();
    while(trend.next()) {
      gs.print(('Incidents by month ' + trend.getValue('timeref') + ' where count is more than 2 count is: ' + trend.getAggregate('COUNT'));
    }

Ausgabe:

    Incidents by month 9/2018 where count is more than 2 count is: 3
    Incidents by month 10/2018 where count is more than 2 count is: 8
    Incidents by month 11/2018 where count is more than 2 count is: 14

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-getValue_String__section_nlm_3kr_mcb}

Um die getValue()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [getValue()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateGetValue_String "Gibt den Wert des angegebenen Felds zurück.").

## GlideAggregate -- groupBy(String name) {#ariaid-title17}

Stellt den Namen eines Felds oder eines Attributs in einem dynamischen Attributspeicher bereit, das beim Gruppieren der Aggregate verwendet werden soll.
Kann mehrfach aufgerufen werden, um mehrere Gruppenfelder festzulegen.
{#r_GlideAggregate-groupBy_String__table_itp_2gk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Feldname oder Pfad zu einem Attribut in einem dynamischen Attributspeicher. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). |
[Tabelle : 31. Parameter]

{#r_GlideAggregate-groupBy_String__table_itp_2gk_ws} {#r_GlideAggregate-groupBy_String__table_ktp_2gk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 32. Ergebnisse]

{#r_GlideAggregate-groupBy_String__table_ktp_2gk_ws}  
Das folgende Beispiel zeigt, wie diese Methode aufgerufen wird.

    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.log(category + " Update counts: MIN = " + min + " MAX = " + max + " AVG = " + avg);
    }

Das folgende Beispiel zeigt, wie diese Methode mithilfe eines Attributs in einem dynamischen Attributspeicher aufgerufen wird.

    var ga_AppTab = new GlideAggregate('application_table');
    ga_AppTab.addGroupBy('dyn_att_field->group->attr');
    ga_AppTab.addAggregate('AVG', 'dyn_att_field->group->attr1');
    ga_AppTab.addHaving('SUM', 'dyn_att_field->group->attr2', '>=', 420);
    ga.query();

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-groupBy_String__section_dff_pkr_mcb}

Um die groupBy()-Methode zu in einer Bereichsanwendung zu verwenden, verwenden Sie die entsprechende Bereichsmethode: [groupBy()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateGroupBy_String "Gibt den Namen eines Feldes an, das zur Gruppierung der Zusammenfassungen verwendet werden soll.").

## GlideAggregate -- orderBy(String name) {#ariaid-title18}

Ordnet die Aggregate anhand des Werts des angegebenen Felds, dynamischen Attributpfads oder der GlideFunktion. Das Feld wird auch der Liste „Gruppieren nach" hinzugefügt.
{#r_GlideAggregate-orderBy_String__table_ft1_wgk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Name | Zeichenfolge | Feldname, Pfad zu einem Attribut in einem dynamischen Attributspeicher oder GlideFunktion zum Sortieren der Aggregate. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). glidefunction-Format: `glidefunction:length(short_description)`. Weitere Informationen zu Glidefunktionen finden Sie unter [Glidefunktions-Operationen](https://www.servicenow.com/docs/access?context=platform-support-functions&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). |
[Tabelle : 33. Parameter]

{#r_GlideAggregate-orderBy_String__table_ft1_wgk_ws} {#r_GlideAggregate-orderBy_String__table_gt1_wgk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 34. Ergebnisse]

{#r_GlideAggregate-orderBy_String__table_gt1_wgk_ws}  

    var agg = new GlideAggregate('incident');
    agg.addAggregate('count','category'); 
    agg.orderByAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)'); 
    agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count','category');
      var query = agg.getQuery();  
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count','category');
      agg2.orderByAggregate('count', 'category');
      agg2.orderBy('category');
      agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
      agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
      agg2.addEncodedQuery(query);
      agg2.query();
      var last = "";
      while (agg2.next()) {
         last = agg2.getAggregate('count','category');      
      }
      gs.log(category + ": Last month:" + count + " Previous Month:" + last);
    }

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-orderBy_String__section_zml_vkr_mcb}

Um die orderBy()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [orderBy()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateOrderBy_String "Ordnet die Zusammenfassungen mit dem Wert des angegebenen Feldes an. Das Feld wird auch der Liste „Gruppieren nach“ hinzugefügt.").

## GlideAggregate -- orderByAggregate(String agg, String fieldName) {#ariaid-title19}

Sortiert die Aggregate basierend auf dem angegebenen Aggregat und Feld oder dynamischen Attribut.
{#r_GlideAggregate-orderByAggregate_String_String__table_ycv_lhk_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| agg | Zeichenfolge | Zusammenfassungstyp. Gültige Werte: * AVG: Durchschnittswert des Ausdrucks. * COUNT: 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 Grundgesamtheit. * SUM: Summe aller Werte. |
| fieldName | Zeichenfolge | Name des Felds oder Pfad zu einem Attribut in einem dynamischen Attributspeicher zum Aggregieren. Format des dynamischen Pfads: `dyn_att_field->group_name->attribute_name` * `dyn_att_field`: Name eines dynamischen Attributspeicherfelds in der Tabelle. * `group_name`: Name der Gruppe, der dieses Attribut zugeordnet ist. Im Feld „group_name" der Tabelle „Dynamische Attributgruppe" \[dynamic_attribute_group\] * `attr_name`: Name des dynamischen Attributs. Befindet sich im Attributfeld der Tabelle „Dynamische Attributtabelle" \[dynamic_attribute\]. Weitere Informationen zu dynamischen Attributen finden Sie unter [Dynamic Schema](https://www.servicenow.com/docs/access?context=dynamic-schema&version=xanadu&pubname=xanadu-platform-administration&ft:locale=en-US). |
[Tabelle : 35. Parameter]

{#r_GlideAggregate-orderByAggregate_String_String__table_ycv_lhk_ws} {#r_GlideAggregate-orderByAggregate_String_String__table_zcv_lhk_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 36. Ergebnisse]

{#r_GlideAggregate-orderByAggregate_String_String__table_zcv_lhk_ws}  

    var agg = new GlideAggregate('incident');
    agg.addAggregate('count','category'); 
    agg.orderByAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)'); 
    agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count','category');
      var query = agg.getQuery();  
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count','category');
      agg2.orderByAggregate('count', 'category');
      agg2.orderBy('category');
      agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
      agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
      agg2.addEncodedQuery(query);
      agg2.query();
      var last = "";
      while (agg2.next()) {
         last = agg2.getAggregate('count','category');      
      }
      gs.log(category + ": Last month:" + count + " Previous Month:" + last);
     
    }

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-orderByAggregate_String_String__section_src_tkr_mcb}

Um die orderByAggregate()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [orderByAggregate()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateOrderByAggregate_String_String "Ordnet die Zusammenfassungen basierend auf der angegebenen Zusammenfassung und dem angegebenen Feld an.").

## GlideAggregate -- query() {#ariaid-title20}

Gibt die Abfrage aus und ruft die Ergebnisse ab.
{#r_GlideAggregate-query__table_rxs_c3k_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| Keine |   |   |
[Tabelle : 37. Parameter]

{#r_GlideAggregate-query__table_rxs_c3k_ws} {#r_GlideAggregate-query__table_sxs_c3k_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 38. Ergebnisse]

{#r_GlideAggregate-query__table_sxs_c3k_ws}  

    var agg = new GlideAggregate('incident');
    agg.addAggregate('count','category'); 
    agg.orderByAggregate('count', 'category'); 
    agg.orderBy('category'); 
    agg.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(2)'); 
    agg.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(2)'); 
    agg.query(); 
    while (agg.next()) { 
      var category = agg.category;
      var count = agg.getAggregate('count','category');
      var query = agg.getQuery();  
      var agg2 = new GlideAggregate('incident');   
      agg2.addAggregate('count','category');
      agg2.orderByAggregate('count', 'category');
      agg2.orderBy('category');
      agg2.addQuery('opened_at', '>=', 'javascript:gs.monthsAgoStart(3)');
      agg2.addQuery('opened_at', '<=', 'javascript:gs.monthsAgoEnd(3)');
      agg2.addEncodedQuery(query);
      agg2.query();
      var last = "";
      while (agg2.next()) {
         last = agg2.getAggregate('count','category');      
      }
      gs.log(category + ": Last month:" + count + " Previous Month:" + last);

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-query__section_m2z_ykr_mcb}

Um die query()-Methode in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [query()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateQuery "Gibt die Abfrage aus und ruft die Ergebnisse ab.").

## GlideAggregate - setAggregateWindow(Number firstRow, Nummer lastRow) {#ariaid-title21}

Begrenzt die Anzahl der Zeilen aus der Tabelle, die in die Aggregatabfrage aufgenommen werden sollen.
{#GlideAgg-setAggregateWindow_N_N__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| firstRow | Nummer | Nullbasierter Index der ersten Zeile, die in die Aggregatabfrage aufgenommen werden soll, einschließlich. |
| letzte Reihe | Nummer | Nullbasierter Index der letzten Zeile, die in die Aggregatabfrage aufgenommen werden soll (exklusiv). |
[Tabelle : 39. Parameter]

{#GlideAgg-setAggregateWindow_N_N__table_orv_jcm_gtb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 40. Ergebnisse]

{#GlideAgg-setAggregateWindow_N_N__table_orv_jcm_gtb}  
Druckt die Anzahl jeder Kategorie für die ersten zehn Datensätze in der Incident-Tabelle \[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

### Bereichsbezogenes Äquivalent {#GlideAgg-setAggregateWindow_N_N__section_m2z_ykr_mcb}

Um die Methode setAggregateWindow() in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [setAggregateWindow()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#ScopedGlAgg-setAggregateWindow_N_N "Begrenzt die Anzahl der Zeilen aus der Tabelle, die in die Aggregatabfrage aufgenommen werden sollen.").

## GlideAggregate -- setGroup(Boolean b) {#ariaid-title22}

Legt fest, ob die Ergebnisse gruppiert werden sollen.
{#r_GlideAggregate-setGroup_Boolean__table_g3r_m3k_ws__entry__3}

| Name | Typ | Beschreibung |
|-|-|-|
| b | Boolean | Kennzeichnung, die angibt, ob die Ergebnisse gruppiert werden sollen. Gültige Werte: * wahr: Ergebnisse gruppieren. * „falsch": Ergebnisse nicht gruppieren. {#r_GlideAggregate-setGroup_Boolean__ul_uhp_mr4_nnb} |
[Tabelle : 41. Parameter]

{#r_GlideAggregate-setGroup_Boolean__table_g3r_m3k_ws} {#r_GlideAggregate-setGroup_Boolean__table_h3r_m3k_ws__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 42. Ergebnisse]

{#r_GlideAggregate-setGroup_Boolean__table_h3r_m3k_ws}  

    var ga = new GlideAggregate('incident');
    ga.addAggregate('COUNT', 'category');
     
    ga.setGroup(true);

### Bereichsbezogenes Äquivalent {#r_GlideAggregate-setGroup_Boolean__section_ryd_blr_mcb}

Um die setGroup()-Methode in einer Bereichsanwendung zu verwenden, vernwenden Sie die entsprechende Bereichsmethode: [setGroup()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#r_ScopedGlideAggregateSetGroup_Boolean "Legt fest, ob die zurückgegebenen Ergebnisse gruppiert werden sollen.").

## GlideAggregate -- setIntervalYearIncluded(Boolean b) {#ariaid-title23}

Legt fest, ob Ergebnisse für Wochentagtrends nach Jahr gruppiert werden sollen. Diese Trends werden mit der Methode „ addTrend() " mit dem Zeitintervall dayofweek erstellt.
Abhängigkeit: [GlideAggregate - addTrend('](https://servicenow-prod.fluidtopics.net/qTjLuB_KwBsShGURd3Cgaw#r_GlideAggregate-addAggregate_String_String "Fügt einer Datenbankabfrage ein Aggregat hinzu.")\<fieldName\> ', 'Wochentag') .
{#GlideAgg-setIntervalYearIncluded_B__entry__3}

| 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: Wochentagergebnisse nach Jahr gruppieren. * „falsch": Jahr aus Zeitintervallergebnissen ausschließen. {#GlideAgg-setIntervalYearIncluded_B__ul_uz2_dph_gzb} Standardwert: true |
[Tabelle : 43. Parameter]

{#GlideAgg-setIntervalYearIncluded_B__table_orv_jcm_gtb__entry__2}

| Typ | Beschreibung |
|-|-|
| Keine |   |
[Tabelle : 44. Ergebnisse]

{#GlideAgg-setIntervalYearIncluded_B__table_orv_jcm_gtb}  
Das folgende Beispiel zeigt, wie Incidents gezählt werden, die in den letzten sechs Monaten erstellt wurden. Die Incidents sind nach Wochentag getrennt, enthalten jedoch nicht das Jahr. Die Standardergebnisse für Donnerstag würden beispielsweise 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

### Bereichsbezogenes Äquivalent {#GlideAgg-setIntervalYearIncluded_B__section_m2z_ykr_mcb}

Um die Methode setIntervalYearIncluded() in einer bereichsbezogenen Anwendung zu verwenden, verwenden Sie die entsprechende bereichsbezogene Methode: [setIntervalYearIncluded()](https://servicenow-prod.fluidtopics.net/qyy_xLDLM_kPqS80apWKVQ#ScopedGlAgg-setIntervalYearInclu_B "Legt fest, ob Ergebnisse für Wochentagtrends nach Jahr gruppiert werden sollen. Diese Trends werden mit der Methode „ addTrend() “ mit dem Zeitintervall dayofweek erstellt.").

