• Comments 5
  • Likes

Key Performance Indicator:  A Key Performance Indicator (KPI) is a visual cue that communicates the progress made toward a goal. The important properties of a KPI are Current Value, Goal and Status.

Some examples of KPI are % of escalated Incidents, % of incidents which breached SLA, % of service requests through portal.

The SM data warehouse in System Center 2012 provides users an option to define KPIs on the cube using a simple MP element in the cube definition. Here is the XSD content view of a KPI element in the Management Pack schema.

KPI Schema


  •  Caption: This is a description which will appear as tooltip.
  •  Value: This is an actual MDX expression which could either simply refer to an existing Measure (for example [Measures].[IncidentswithinSLA] or it could contain a more complicated MDX statement. If you do include an MDX expression, remember to encode for XML (i.e. use > rather than   the      > operator directly).
  •  Goal: An MDX numeric expression or a calculation that returns the target value of the KPI. This can lso be a decimal which represents the target. If you are targeting 80% of Incidents within SLA, this value would be .8.
  •  GreenThreshold, YellowThreshold & Direction: These set the inclusive boundaries for determining what color your status graphic should be. For example, let’s assume your GreenThreshold is .8, your YellowThreshold is .7 and your Direction is Up. This would mean that any value equal to or   above .8 would be green, anything equal to or greater than .7 (but less than .8) would be yellow and anything less than .7 would be red. However, sometimes a lower number is better.For example, labor minutes per incident or hours of downtime. To account for this, set your Direction element to Down and adjust your GreenThreshold & YellowThreshold values accordingly.
  • StatusGraphic: The standard list of SSAS KPI status graphics. These are the actual named icon sets which govern how the KPI status visually looks in Excel/Sharepoint etc.

The supported values are Shapes, TrafficLight, RoadSigns, Gauge, ReversedGauge, Thermometer, Cylinder, Faces, VarianceArrow.


Note: Excel won’t support all the status graphics values but will default if you provide a value it doesn’t support. 



Let’s build a KPI “% of escalated Incidents” using Service Manager data warehouse 2012.

For the KPI “% of escalated Incidents”, let’s define the goal as less than .1 and Green Threshold as .3, Yellow Threshold as .4 . The direction need to be down as we want the escalated incidents % to be as low as possible.

1)      Identify the Measure on which the KPI can be defined and provide it as the value. In this scenario Escalated Incidents\Total incidents count should provide the ratio

So here is the KPI element


            <KPI ID="EscalationsKPI">

              <Caption> Incident Escalations </Caption>              

            <Value>IIF([Measures].[Incidents Escalated]>0,([Measures].[Incidents Escalated]/[Measures].[IncidentDimCount]),0)</Value>









2) Import the sealed Cube MP with the KPI and run the MPSync job so that the KPI is deployed to the Analysis Services Database.

3)  Process the cube from the SM console or Cmdlet.

4)      Now open the cube in the Excel from SM Console. The EscalationsKPI  appears in the Excel field list as indicated below.



5)      Check the Value, Goal, and Status fields, that should indicate the overall status, goal and the current values. The following should be the view then:

6)      Now slice the KPI based on the source of the Incident. Check the IncidentSourceValue from IncidentDim_Incidentsource cube dimension and it should provide the following view. Also select the incident count:


7)      Now slice by classification by checking the IncidentClassificationValue from IncidentDim_IncidentClassificationValue:

I have attached the cube MP for your reference.

Attachment: IncidentEscalationKPI.xml
Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • I get an error that the following managment packs don't exsist when I try to import the CubeMP



  • Hi James,

    Microsoft.SystemCenter.Datawarehouse.Base is the DW base MP and ServiceManager.ConfigurationManagement.Cubes.Library is the Cube MP which the IncidentEscalationKPI mp is extending. Those are being referred by IncidentEscalationKPI mp. so they need to be in deployed state for IncidentEscalationKPI MP to import and deploy successfully

    You may check the deployment status of those 2 MPs in Service Manager COnsole->Datawarehouse Wonderbar->ManagementPacks.

    verify that the deploymentstatus is completed for these two mps.

    if it is ,we need to ensure that the reference info( versions and keytoken) of the 2mps in IncidentEscalationKPI.xml matches with the one on your SM topology.

    here is the snippet with the reference info in the IncidentEscalation xml

    -<Reference Alias="DWBase">





    -<Reference Alias="cube">





    You may check the Publickeytoken and version on your SM topology by using the following SQL query on the Datawarehouse

    use DWStagingAndConfig

    select MPKeyToken,MPVersion,* from ManagementPack

    where MPName like 'Microsoft.SystemCenter.Datawarehouse.Base%'

    if it doesnt match , update the IncidentEscalationKPI xml and seal and reimport the mp.

    let me know if it still persists

  • This reference section should be valid for the RC.


         <Reference Alias="System">





         <Reference Alias="DWBase">





         <Reference Alias="cube">






  • What does the field Incident Classification (Row labels} at the last picture?

    Why is it there? There should be a field classification.

  • Are there any pre built MPs that Microsoft has available to deliver common KPIs for the various cubes in SCSM 2012? There are quite a few of us out in the world that are using the product, have a requirement for reports with KPIs, but have neither the time, know how or budget to do this ourselves or hire someone to do it.

    Some basic out of the box type of KPIs would be a nice starting point with perhpas an interface in the future that will allow the design of additional KPIs in the console.