Reporting on all Incidents "touched" by a set of individuals

daburges
Kilo Expert

Hello all,

I am doing some metrics for members of my organization, we primarily track work done by a team via individual rather than assignment group. Therefore, when i check if an incident has been touched by a team I check if it was every assigned to a member of that team (which is a reference field that connects to the user table) .  

Recently, my co-worker requested a report on the number of incidents touched by the Help Desk team.

What I want: The requirements of the reports are relatively simple, just a single score for the number of incidents touched by our Help Desk team. This means any tickets that were either resolved by the team or were simply escalated, AKA assigned to another individual.

My initial attempts have been revolving around the Assigned to Duration Metric found in the [metric_definition] table. However, this metric creates a new instance every time an incident is assigned to the individual so if the incident was assigned to the same person twice or 2 different people on the team then data quality will be compromised since that will create two instances for a single incident.

Can anyone think of a way to get the distinct number of incidents a group of individuals has touched without duplicates?

Thank you for your time and patience.

18 REPLIES 18

Joel Dias
Kilo Sage

I don't think that there is any way to get this directly by only using the reporting function.


The closest thing would be Performance Analytics (PA) where you can create indicators using the count distinct aggregate option:


Create an automated indicator



Keep in mind that the aggregation will be stuck on the aggregation period that you defined (e.g. distinct incidents over 1 month).


You may still have the same incident counted in different counts.


Also PA is an additional subscription.



Else, you can try to create a solution that involves some scripting.


In JavaScript, you can get the distinct count using GlideAggregate:


https://developer.servicenow.com/app.do#!/api_doc?v=istanbul&id=c_GlideAggregateScopedAPI


We actually do the PA premium. but I don't see how an indicator would have an easier time getting the metrics I want. do you mean count the number of times the help desk staff was assigned to a ticket each day?


Daily, or weekly depending on what makes sense for your user.


For example, if you have the "Assignment Group" metric type, you could take all the metric instances of this metric type where value is "Help Desk" and count the number of distinct IDs (Incident number) where the End value is in the last day/week.


If you put a constraint on the End value, you can reduce the number of incidents showing up in the count on each day.



The major difference with report is that your users are stuck with the interval that you set up in the indicator (they cannot get the number of distinct incidents worked in one year).


I understand what you are saying from a higher level. I am trying to figure out how it would work structurally so tell me if you think this is a good format.



Data Collection Job: [incident_metrics]


Collection period: Last year (since this is our data requirement)


- Since OOB dashboards don't have incident_metric collections by default



Indicator Source:


Metric Definition = Assigned_to duration



Valid for frequency: yearly?



Automated indicator


Indicator source: Incident Metrics


aggregation: count distinct (INC Numbers)


Assigned to EMP1


OR Assigned to EMP 2


...



will this grab what I need since i'm trying to grab every incident touched by this set of people?


1. Where does the end date come in? in the indicator source or the automated indicator?


2. when I set the data collection time should I do the usual setup of daily collection / yearly collection or how do I get the proper number of data?