GlideAggregat – Umfang
Die GlideAggregat API ermöglicht das Erstellen von Datenbankzusammenfassungsabfragen.
Die GlideAggregat Klasse ist eine Erweiterung von GlideRecord Klasse und bietet Datenbankzusammenfassung (AVG, COUNT, GROUP_CONCAT, GROUP_CONCAT_DISTINCT, MAX, MIN., STD., SUMME) ABFRAGEN. Diese Funktionalität kann beim Erstellen anwenderdefinierter Berichte oder bei Berechnungen für berechnete Felder hilfreich sein.
Wenn Sie verwenden GlideAggregat Methoden für Währungs- oder Preisfelder verwenden Sie den Referenzwährungswert. Stellen Sie sicher, dass Sie die Aggregatwerte zur Anzeige in die Sitzungswährung des Anwenders 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.
Bereichsbezogenes GlideAggregat – GlideAggregate(Zeichenfolge tableName)
Erstellt ein GlideAggregate-Objekt in der angegebenen Tabelle.
| Name | Typ | Beschreibung |
|---|---|---|
| tableName | Zeichenfolge | Name der Tabelle. |
var count = new GlideAggregate('incident');
Bereichsbezogenes GlideAggregat – addAggregate(Zeichenfolgenagg, Zeichenfolgenname)
Fügt einer Datenbankabfrage ein Aggregat hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| agg | Zeichenfolge | Name eines zu verwendenden Aggregats. Gültige Werte:
|
| name | Zeichenfolge | Optional. Name des Felds, nach dem die Ergebnisse der Zusammenfassung gruppiert werden sollen. Standard: Null |
| 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
Bereichsbezogenes GlideAggregat – addEncodedQuery (Zeichenfolgenabfrage)
Fügt den anderen Abfragen, die möglicherweise für dieses Aggregat festgelegt wurden, eine codierte Abfrage hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| query | Zeichenfolge | Eine codierte Abfrage, die dem Aggregat hinzugefügt werden soll. |
| 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);
Bereichsbezogenes GlideAggregat – addQuery(Zeichenfolgenname, Zeichenfolgenoperator, Zeichenfolgenwert)
Fügt dem Aggregat eine Abfrage hinzu.
| 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. |
| 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);
}
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 softwareBereichsbezogenes GlideAggregat – addNotNullQuery(String fieldName)
Fügt dem Aggregat eine nicht-Null-Abfrage hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| Feldname | Zeichenfolge | Name des Felds. |
| 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
}
Bereichsbezogenes GlideAggregat – addNullQuery(String fieldName)
Fügt dem Aggregat eine Null-Abfrage hinzu.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Name des Felds. |
| 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(Zeichenfolge Feldname, Zeichenfolgenzeitintervall, ZahlennummernEinheiten)
Fügt einen Trend für ein angegebenes Feld hinzu. Verwenden Sie einen Trend, um Muster über einen bestimmten Zeitraum anzuzeigen.
| Name | Typ | Beschreibung |
|---|---|---|
| fieldName | Zeichenfolge | Name des Felds, für das Trends auftreten sollen. |
| Zeitintervall | Zeichenfolge | Zeitintervall für den Trend. Gültige Werte:
|
| Numerische Einheiten | Nummer | Optional. Nur gültig, wenn timeInterval= Minute . Anzahl der Minuten, die in den Trend aufgenommen werden sollen. Standard: 1 |
| Typ | Beschreibung |
|---|---|
| Ungültig |
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')]);
}
3/2018, 9
4/2018, 2
1/2019, 38
2/2019, 310Bereichsbezogenes GlideAggregat – getAggregate(Zeichenfolgenagg, Zeichenfolgenname)
Gibt den Wert eines Aggregats aus dem aktuellen Datensatz zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| agg | Zeichenfolge | Typ des Aggregats. Gültige Werte:
|
| name | Zeichenfolge | Name des Felds, für das die Zusammenfassung durchgeführt werden soll. |
| Typ | Beschreibung |
|---|---|
| Zeichenfolge | Der Wert der Zusammenfassung. Wenn die aggregierten Werte FX-Währungswerte sind, hat der zurückgegebene Wert das Format <currency_code;currency_value> , Z. B.: 134,980000 USD . Hinweis: Wenn das angegebene Feld FX-Währungswerte von Typen mit gemischter Währung 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
Bereichsbezogenes GlideAggregat – getAggregateEncodedQuery()
Ruft die Abfrage ab, die zum Rückgeben des aktuellen Aggregats erforderlich ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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());
}
category=database
category=hardware
category=inquiry
category=network
category=request
category=softwareBereichsbezogenes GlideAggregat – getEncodedQuery()
Ruft die codierte Abfrage ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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());
ORDERBYcategory^GROUPBYcategoryBereichsbezogenes GlideAggregat – getRowCount()
Ruft die Anzahl der Zeilen im GlideAggregate-Objekt ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | 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);
}
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.0000Bereichsbezogenes GlideAggregat – getTableName()
Ruft den Tabellennamen ab, der diesem GlideAggregate-Objekt zugeordnet ist.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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());
Bereichsbezogenes GlideAggregat – getValue(Zeichenfolgenname)
Gibt den Wert des angegebenen Felds zurück.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name des Felds in der aktuellen Tabelle, das zurückgegeben werden soll. |
| 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
Bereichsbezogenes GlideAggregat – groupBy(Zeichenfolgenname)
Gibt den Namen eines Felds an, das beim Gruppieren der Aggregate verwendet werden soll.
Kann mehrmals aufgerufen werden, um mehrere Gruppenfelder festzulegen.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name des Felds. |
| 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);
}
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 GlideAggregat – hasNext()
Bestimmt, ob das GlideAggregate-Objekt weitere Datensätze enthält.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Abfragesatz weitere Ergebnisse enthält. Mögliche Werte:
|
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);
}
Database: AVG = 32.5000
Hardware: AVG = 12.0000
Inquiry / Help: AVG = 7.6667
Network: AVG = 24.0000
Request: AVG = 16.4000
Software: AVG = 27.0833Bereichsbezogenes GlideAggregat – next()
Wechselt zum nächsten Datensatz im GlideAggregat.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die angibt, ob der Abfragesatz weitere Ergebnisse enthält. Mögliche Werte:
|
var count = new GlideAggregate('incident');
count.addAggregate('COUNT');
count.query();
var incidents = 0;
if (count.next()) {
incidents = count.getAggregate('COUNT');
gs.info(incidents);
}
Bereichsbezogenes GlideAggregat – orderBy(Zeichenfolgenname)
Ordnet die Aggregate anhand des Werts des angegebenen Felds an. Das Feld wird auch der Liste „Gruppieren nach“ hinzugefügt.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name des Felds, nach dem die Aggregate sortiert werden sollen. Alternativ können Sie eine Glidefunktion bereitstellen, um die Aggregate anzuordnen, z. B. |
| 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);
}
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:11Bereichsbezogenes GlideAggregat – orderByAggregate(Zeichenfolgenagg, Zeichenfolgenfeldname)
Ordnet die Aggregate basierend auf dem angegebenen Aggregat und Feld an.
| Name | Typ | Beschreibung |
|---|---|---|
| agg | Zeichenfolge | Typ der Zusammenfassung. |
| fieldName | Zeichenfolge | Name des zu aggregierenden Felds. |
| Typ | Beschreibung |
|---|---|
| Ungültig |
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
Bereichsbezogenes GlideAggregat – orderByDesc(Zeichenfolgenname)
Sortiert die Aggregate in absteigender Reihenfolge basierend auf dem angegebenen Feld. Das Feld wird auch der Liste „Gruppieren nach“ hinzugefügt.
| Name | Typ | Beschreibung |
|---|---|---|
| name | Zeichenfolge | Name des Felds. |
| 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);
}
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
Bereichsbezogenes GlideAggregat – query()
Gibt die Abfrage aus und ruft die Ergebnisse ab.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| 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 GlideAggregat – setAggregateWindow(Nummer firstRow, Nummer lastRow)
Begrenzt die Anzahl der Zeilen aus der Tabelle, die in die Aggregatabfrage aufgenommen werden sollen.
| Name | Typ | Beschreibung |
|---|---|---|
| Erste Zeile | Nummer | Null-basierter Index der ersten Zeile, die in die Aggregatabfrage aufgenommen werden soll, einschließlich. |
| LastRow | Nummer | Null-basierter Index der letzten Zeile, die in die Aggregatabfrage aufgenommen werden soll, exklusiv. |
| 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
Bereichsbezogenes GlideAggregat – setGroup (boolescher Wert b)
Legt fest, ob die Rückgabeergebnisse gruppiert werden sollen.
| Name | Typ | Beschreibung |
|---|---|---|
| b | Boolean | Kennzeichnung, die angibt, ob die Ergebnisse gruppiert werden sollen. Gültige Werte:
|
| Typ | Beschreibung |
|---|---|
| Ungültig |
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') .
| 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:
Standard: Wahr |
| Typ | Beschreibung |
|---|---|
| Keine |
Das folgende Beispiel zeigt, wie Incidents gezählt werden, die in den letzten sechs Monaten erstellt wurden. Die Incidents werden durch den Wochentag getrennt, jedoch nicht durch das Jahr. Beispielsweise 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