It's been quiet on the list so I figured I'd post some queries that have helped 
me find some things that my management has been looking for.  My SLA names will 
not match yours so modify as needed but it should get you going.  I use this 
query in SRS along with date parameters to generate an SLA report for the 
previous 1 month (1st of month to last day of month).  Execute this against 
your Data Warehouse - DWDataMart db.  Forgive the comments but I keep them in 
my queries when I'm building them and revising them so I can do test cases for 
parameters or known quantities (like a particular support group, incident 
number etc).  I always welcome feedback about how to do things better and 
hopefully these aren't old hat for everyone.

-Casey

SELECT

    CASE WHEN slaconf.DisplayName LIKE '%Priority 1%' THEN '1 - 2 hours'
            WHEN slaconf.DisplayName LIKE '%Priority 2%' THEN '2 - 4 hours'
              WHEN slaconf.DisplayName LIKE '%Priority 3%' THEN '3 - 8 hours'
              WHEN slaconf.DisplayName LIKE '%Priority 4%' THEN '4 - 24 hours'
              WHEN slaconf.DisplayName LIKE '%Priority 5%' THEN '5 - 48 hours'
              WHEN slaconf.DisplayName LIKE '%within 30%' THEN 'Unassigned - 30 
min'
              ELSE slaconf.DisplayName
              END AS 'Priority'
   ,Disp.DisplayName AS 'ITD Unit'
    ,COUNT (CASE WHEN SLAInstanceStatusValue IS NOT NULL THEN 1 END) as 
[Incidents Received]
   ,COUNT (CASE WHEN SLAInstanceStatusValue = 'Met' THEN 1 END) as [SLA Met]
   ,COUNT (CASE WHEN SLAInstanceStatusValue = 'Breached' THEN 1 END) as [SLA 
Breached]
   ,COUNT (CASE WHEN SLAInstanceStatusValue = 'Active' THEN 1 END) as [SLA 
Active]
  ,COUNT (CASE WHEN SLAInstanceStatusValue = 'Met' or SLAInstanceStatusValue = 
'Active' THEN 1 END) as [SLA Met and Active]
  ,CAST((COUNT (CASE WHEN SLAInstanceStatusValue = 'Met' or 
SLAInstanceStatusValue = 'Active' THEN 1 END)) AS FLOAT(4))/CAST((COUNT (CASE 
WHEN SLAInstanceStatusValue IS NOT NULL THEN 1 END)) AS FLOAT(4)) AS 'SLA Rate'
FROM [DWDataMart].[dbo].[SLAInstanceInformationFactvw] sla

  JOIN   [DWDataMart].[dbo].[WorkItemDimvw] wi on sla.WorkItemDimKey = 
wi.WorkItemDimKey

  JOIN [DWDataMart].[dbo].[SLAConfigurationDimvw] slaconf on 
sla.SLAConfigurationDimKey = slaconf.SLAConfigurationDimKey

  JOIN [DWDataMart].[dbo].[SLAInstanceStatusvw] slastatus on 
sla.SLAInstanceStatusId = slastatus.SLAInstanceStatusId

  JOIN [DWDataMart].[dbo].[IncidentDimvw] inc on wi.EntityDimKey = 
inc.EntityDimKey

JOIN   dwdatamart.dbo.IncidentTierQueuesvw tqvw on 
inc.TierQueue_IncidentTierQueuesId = tqvw.IncidentTierQueuesId

JOIN [DWDataMart].[dbo].[DisplayStringDim] disp on tqvw.EnumTypeId = 
disp.MPElementId

where

 --wi.ID = 'IR2488'

 Disp.LanguageCode = 'ENU'

--AND disp.DisplayName = 'Network'

AND (slaConf.DisplayName LIKE '%' + 'Priority' + '%' OR slaConf.DisplayName 
LIKE '%within 30%')

--AND SLAInstanceStatusValue = 'Met'

AND (SLAInstanceStatusValue = 'Breached' or SLAInstanceStatusValue = 'Met' or 
SLAInstanceStatusValue = 'Active' )

--AND sla.StartDate >= GetDate() - 60

AND sla.StartDate BETWEEN '09/01/2012' AND '02/28/2013'

group by slaconf.DisplayName,disp.DisplayName

order by slaconf.DisplayName


Reply via email to