Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 1.9 KB

GlideAggregate.md

File metadata and controls

60 lines (40 loc) · 1.9 KB

GlideAggregate

Objective: Learn how to use GlideAggregate within ServiceNow.

Overview

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.

Demo

To practice using GlideAggregate within ServiceNow:

  1. Log into your personal developer instance
  2. Navigate to System Definition - Scripts - Background
  3. 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);
  1. Click the Run script button
  2. 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.

Additional 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");
}

Resources

For additional information, refer to the GlideAggregate API.