Objective: Learn how to use GlideAggregate within ServiceNow.
The GlideAggregate class is an extension of GlideRecord. GlideAggregate allows database aggregation queries like COUNT, SUM, MIN, MAX, and AVG to be done.
This can be helpful in creating customized reports or in calculations for calculated fields.
Note: GlideAggregate only works on number fields.
To practice using GlideAggregate within ServiceNow:
- Log into your personal developer instance
- Navigate to
System Definition - Scripts - Background - Copy this script into the text area:
// Here is an example that gets a count of the number of records in the Incident table:
var count = new GlideAggregate("incident");
count.addAggregate("COUNT");
count.query();
var incidents = 0;
if (count.next()) {
incidents = count.getAggregate("COUNT");
}
gs.log("Number of incidents: " + incidents);- Click the
Run scriptbutton - The script will run and the result will show something like:
*** Script: Number of incidents: 680569
You can use this process to test out different GlideAggregate examples.
The previous example did not include any query, since it counted all records from the Incident table.
To get a count of only active Incidents, you can add a query to a GlideAggregate just like how you would to a GlideRecord. Here's an example to get a count of the number of active incidents:
var count = new GlideAggregate("incident");
count.addQuery("active", "true");
count.addAggregate("COUNT");
count.query();
var incidents = 0;
if (count.next()) {
incidents = count.getAggregate("COUNT");
}For additional information, refer to the GlideAggregate API.