- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-14-2016 01:28 AM
Hi All,
I'm not able to get the maximum count.
Based on my requirement I have result as 'A(value) - 3(count)' , 'B(value) - 3(count)', 'C(value) - 6(count)', 'D(value) - 10(count)', 'E(value) - 2(count)', 'F(value) - 1(count)','G(value) - 7(count)'.
Now, I need to find the MAX of above result. Also I need to display top "FIVE" MAX count.
Initial step I tried as below to get the "MAX" count but didn't get the expected result.
<g:evaluate>
var inc=new GlideAggregate('incident');
inc.addQuery( My queries )
inc.addAggregate('COUNT','abc'); <!-- abc is a column in incident table-->
inc.addAggregate('MAX','abc');
inc.query();
</g:evaluate>
<j:while test="${inc.next()}">
${inc.getAggregate('COUNT', 'abc')}
${inc.getAggregate('MAX', 'abc')}
</j:while>
Can anyone help me to resolve this!!!!
Thanks,
Sowmya
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2016 05:35 AM
Hi Sowmya,
Can you try something like:
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate>
var count = new GlideAggregate('incident');
count.addAggregate('COUNT','abc');
count.orderByAggregate('COUNT','abc');
count.query();
var maxloops = 0;
</g:evaluate>
<j:while test="${count.next() && maxloops ${AMP}lt; 5}">
${count.getAggregate('COUNT', 'abc')}
${maxloops += 1}
</j:while>
</j:jelly>
Regards,
Sergiu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-14-2016 04:52 AM
Can you elaborate a bit on "I tried as below to get the "MAX" count but didn't get the expected result" ?
What did you expected and what did you got as result? Your requirement is not clear to me.
Regards,
Sergiu
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2016 08:55 PM
Hi Sergiu,
In my table, I have records in column "abc" . I need to find the "MAXIMUM" count of the record and also "top five".
EX. In "abc" column I have "a,b,d,a,c,I,j,b,a,a,d,r,s,t,t,u,v,v" values
My expected output should be
Max count value is ''a" and top five count values are "a,b,d,t,v".
Please let me know how can I achieve this!!!!!
Thanks,
Sowmya
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-17-2016 10:45 PM
Hi Sowmya,
Try this below code.
var gr = new GlideRecord('incident'); |
gr.orderByDesc('number');
gr.setLimit(5);
gr.query();
while(gr.next())
gs.addInfoMessage('Value :'+gr.number) |
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-18-2016 12:46 AM
Hi Sowmya,
I've used incident table and 'priority' field to build up an example for what you need. See below script:
var count = new GlideAggregate('incident');
count.addAggregate('COUNT', 'priority');
count.orderByAggregate('COUNT', 'priority');
count.query();
maxloop = 0;
while (count.next() && (maxloop < 5)) {
var max = count.getAggregate('COUNT', 'priority');
gs.print('Priority: ' + count.priority + ' has: ' + max + ' incidents');
maxloop += 1;
}
Running this script via Background Scripts I get:
[0:00:00.016] Script completed in scope global: script
*** Script: Priority: 1 has: 25 incidents
*** Script: Priority: 5 has: 12 incidents
*** Script: Priority: 3 has: 6 incidents
*** Script: Priority: 2 has: 4 incidents
*** Script: Priority: 4 has: 3 incidents
So, for field 'priority' (in your case it would be 'abc') I am displaying the max number of incidents for a priority (in your case for the value that has max count) and then the next 4 top counts (5 in total).
Can you please adjust it to your case and see if it works as you expect?
Regards,
Sergiu