ITIL determines the **Priority** of an incident as a function of its **Impact** (its direct effect on business processes) and **Urgency** (the amount of delay that can be accepted before resolution). Most ITIL-based tools (Remedy, ServiceNow, etc.) handle this conversion internally based on customer definitions.

In some cases you may want to implement this calculation directly within a SharePoint list, or, since this is likely a well-understood concept in the organization, apply a similar calculation to another process. For example, a team using a SharePoint list to accept service requests may define the impact and urgency of those requests to determine a calculated

**The Basics**

While each implementation may differ slightly in the number of options available, a common scenario is presented below. Both Impact and Urgency can be one of four values (“Low” to “Critical”) and these convert to a priority in a non-linear cascade as follows:

The chart is simple enough to navigate, but getting the calculation into SharePoint takes some finagling.

### The Fields

We need three fields in total. Firstly, of course, we need a field each for **Impact** and **Urgency**. These are simple multi-option drop-down fields with the following values:

- 4 – Low
- 3 – Medium
- 2 – High
- 1 – Critical

The numbers are important, but their placement isn’t as long they’re consistent enough to tease out using SharePoint’s built-in functions. In this example, since they’re the first characters, the LEFT function alone – as in, *LEFT(Impact)* and *LEFT(Urgency)* – is enough.

The last field, **Priority**, is calculated field that returns a “Single line of text”.

### The Calculation

Our calculation is broken up into three parts.

**Firstly**, we convert Impact and Urgency to their numerical equivalents. This is done, as described above, with the *LEFT()* function.

**Secondly**, imagine the Priority grid above replaced with numbers starting with “16” in the upper left and counting down, left-to-right, to “1” at the bottom right. Each one of these numbers would correlate to a specific Priority.

We need some math to obtain the correct number based on the Impact and Urgency. It’s simple enough, but a bit convoluted. The full equation is:

((Impact+Urgency)+((Impact-1)*3)-1)

If Impact were, say, 3 and Urgency were 2, this would result in:

- ((3+2)+((3-1)*3)-1)
- (5+(2*3)-1)
- (5+6-1)
- 10

Applying that to the actual grid and we get “3 – Medium”.

**Thirdly**, we need to convert the resulting positional number to the correct Priority. This can be done with multiple nested IF statements, but SharePoint provides the *CHOOSE()* function for just this purpose. This function takes a list of options and a number; it returns the option that corresponds to the passed value.

### In Conclusion

Putting it all together, our final calculation would be:

=CHOOSE(((LEFT(Urgency)+LEFT([Impact to Restoration]))+((LEFT(Urgency)-1)*3)-1),"1 - Critical","1 - Critical","1 - Critical","2 - High","1 - Critical","2 - High","2 - High","3 - Medium","2 - High","3 - Medium","3 - Medium","4 - Low","3 - Medium","4 - Low","4 - Low","4 - Low")

It’s a bit unwieldy, but most SharePoint calculations are.

While this solution is rather esoteric, I hope somebody finds it useful!