The CreatorCon Call for Content is officially open! Get started here.

GlideAggregate GroupBy giving Incorrect Count

Sumit Pandey1
Kilo Guru

Hi All,

When executing the below script, It shows me the count which is different from the count shown in list view with exact same query string! (Going to list view, and applying group by on Manager field).

I have already checked there are no Query Business Rules active on that table.

var myManagerList = [];
var getResourceManagers = new GlideAggregate('sys_user');
getResourceManagers.addEncodedQuery('active=true^company=c7af548d37323100d4e8daa543990e36^managerISNOTEMPTY');
getResourceManagers.addAggregate('COUNT','manager');
getResourceManagers.groupBy('manager');
getResourceManagers.query();  
while (getResourceManagers.next()) 
{
var manager = getResourceManagers.getAggregate('COUNT', 'manager');
myManagerList.push(manager);
}

gs.info('myManager length == '+myManagerList.length); //Output: 3757, List View Count: 3703
1 ACCEPTED SOLUTION

Sumit Pandey1
Kilo Guru

Hi All, Thanks for your help. 

The real issue was - "When on a list and performing a 'Group By' action on a column, the row count that appears in the pagination may not match with how many rows are appearing on the page."

More information here - https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB0720019

 

Thanks, Sumit

View solution in original post

15 REPLIES 15

Hi Sumit,

Thank you for letting us know! 🙂

 

The Knowledge Article describes 2 reasons, can you share which applied to you?

The first cause is that if you're grouping by on a column where there are empty values, these rows are grouped but not treated as a row count within the pagination.

The second cause is that if you're grouping by on a column which is a reference field, you can get what appears as duplications within the rows. This is because of the records in that table having the same display name value but are actually different values.

Did you do anything to solve it?