Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

GlideAggregate return wrong value

Sharath807
Tera Contributor

Hi all , Iam trying to get the count based on the query , but in system records its showing count as 534.

but when i run script in background its showing as 543. did i miss anything?

var totalCount = 0;
var count = new GlideAggregate('cmdb_sam_sw_install');
count.addEncodedQuery("discovery_model.u_software_name=c421a3e387e4d21075920d460cbb350b");

count.addAggregate('COUNT');

count.groupBy('installed_on');

count.query();
while (count.next()) {

totalCount = totalCount+1;

gs.info(count.getAggregate("COUNT")+ "--"+count.getValue("installed_on"));

}
gs.info("Total count: " + totalCount);

22 REPLIES 22

SumanKumarM
Tera Contributor

Hello Sharath807,

Please find a solution below,

var totalCount = 0;
var ga = new GlideAggregate('cmdb_sam_sw_install');
ga.groupBy("installed_on");
ga.addAggregate('COUNT');
ga.query();
var installedOn = [];
while (ga.next()) {
    if (installedOn.indexOf(ga.getDisplayValue("installed_on")) == -1) {
        installedOn.push(ga.getDisplayValue("installed_on"));
    }
}
gs.info("Installed_on: " + installedOn.length);
 
Please mark it helpful, if it works for you.
 
Thanks,
Suman.

SumanKumarM
Tera Contributor
var totalCount = 0;
var ga = new GlideAggregate('cmdb_sam_sw_install');
ga.groupBy("installed_on");
ga.addAggregate('COUNT');
ga.query();
var installedOn = [];
while (ga.next()) {
    if (installedOn.indexOf(ga.getDisplayValue("installed_on")) == -1) {
        installedOn.push(ga.getDisplayValue("installed_on"));
    }
}
gs.info("Installed_on: " + installedOn.length);
 
SumanKumarM_0-1726774452065.pngSumanKumarM_1-1726774511274.png

 

SumanKumarM
Tera Contributor

Hello Sharath807,

Please find a solution below,

 

var totalCount = 0;
var ga = new GlideAggregate('cmdb_sam_sw_install');
ga.groupBy("installed_on");
ga.addAggregate('COUNT');
ga.query();
var installedOn = [];
while (ga.next()) {
    if (installedOn.indexOf(ga.getDisplayValue("installed_on")) == -1) {
        installedOn.push(ga.getDisplayValue("installed_on"));
    }
}
gs.info("Installed_on: " + installedOn.length);
 
Please mark helpful, if it works for you.
 
SumanKumarM_0-1726776123191.pngSumanKumarM_1-1726776143563.png