ServiceDesk

 View Only
  • 1.  SD 7.1 SP2: View Survey Results

    Posted Apr 12, 2012 08:12 AM

    Running SD 7.1 SP2:

    A couple of requests on best practice.

    First, is there a way to discern survey results based on the department that worked on the tickets?  We have 6 groups (HR, IT, SAP, Payroll, Finance and Compliance) that use the system.  I am being asked to let them each see their group survey results so they can determine if they are meeting their objectives.

    Second, is there a way to view the survey results based on IM # in a report?

    Thanks

    Steve

     



  • 2.  RE: SD 7.1 SP2: View Survey Results
    Best Answer

    Posted Apr 12, 2012 01:01 PM

    If all you are interested in is the overall score of the survey, then you can add survey management to the report.  Unfortunately, the comments are ntext, so they can't be used with distinct, and I haven't found a way to remove the distinct condition using a regular report.

    You can create a SQL report that does what you want for the first part.  Here is an example, just change the group name:

     

    select 
        GroupName as [Team],
        DisplayName as [Worker], 
        Process.ProcessEnded as [EndDate],
        ServiceDeskIncidentManagement0.process_id as [IncidentID],
        ServiceDeskSurveyData1.Score,
        ServiceDeskSurveyData1.Quality_Of_Diagnosis,
        ServiceDeskSurveyData1.Quality_Of_Solution,
        ServiceDeskSurveyData1.Speed_Of_Service,
        ServiceDeskSurveyData1.Overall_Quality,
        ServiceDeskSurveyData1.Comments
    from
        ReportProcess as Process with (NOLOCK) inner join
        ServiceDeskIncidentManagement as ServiceDeskIncidentManagement0 with (NOLOCK) on
            ((ServiceDeskIncidentManagement0.process_id = Process.ReportProcessID)) inner join
        ReportProcessRelationship as ReportProcessRelationship1 with (NOLOCK) on
            ((ReportProcessRelationship1.ParentProcessID = Process.ReportProcessID)) inner join
        ServiceDeskSurveyData as ServiceDeskSurveyData1 with (NOLOCK) on
            ((ServiceDeskSurveyData1.process_id = ReportProcessRelationship1.ChildProcessID)) inner join
        [User] with (NOLOCK) on
            ((ServiceDeskIncidentManagement0.resolved_by_user_id = [User].UserID)) INNER JOIN 
        UserGroup with (NOLOCK) on 
            (([User].UserID = UserGroup.UserID)) INNER JOIN
        [Group] with (NOLOCK) on 
            ((UserGroup.GroupID = [Group].GroupID))
    where
        (Process.Result = 'Closed' or
        Process.Result = 'Resolved' or
        Process.Result = 'Completed') and
        Score > 0 and GroupName = 'HR' and
        DATEDIFF(DAY, ProcessEnded, GETDATE()) <= 365
    order by ProcessEnded
     
    For your second request, if you want to be able to enter the process id as a parameter, you won't be able to use a SQL report.  For that, you can create a view that includes the survey data and Session ID, and then create a profile that uses that view.  Then you can use the profile data in a standard report.  Here is the view I use:
     
    CREATE VIEW [dbo].[IncidentSurveyResults]
    AS
    SELECT     ServiceDeskIncidentManagement0.process_id AS IncidentID, ServiceDeskIncidentManagement0.incident_name AS IncidentName, 
                          ServiceDeskIncidentManagement0.incident_type AS IncidentType, ServiceDeskSurveyData1.score AS Score, 
                          ServiceDeskSurveyData1.quality_of_diagnosis AS Quality_Of_Diagnosis, ServiceDeskSurveyData1.quality_of_solution AS Quality_Of_Solution, 
                          ServiceDeskSurveyData1.speed_of_service AS Speed_Of_Service, ServiceDeskSurveyData1.overall_quality AS Overall_Quality, 
                          Process.SessionID AS ProcessSessionID, CAST(ServiceDeskSurveyData1.comments AS nvarchar(max)) AS Comments, ServiceDeskSurveyData1.process_id AS SurveyID
    FROM         dbo.ReportProcess AS Process WITH (NOLOCK) INNER JOIN
                          dbo.ServiceDeskIncidentManagement AS ServiceDeskIncidentManagement0 WITH (NOLOCK) ON 
                          ServiceDeskIncidentManagement0.process_id = Process.ReportProcessID INNER JOIN
                          dbo.ReportProcessRelationship AS ReportProcessRelationship1 WITH (NOLOCK) ON 
                          ReportProcessRelationship1.ParentProcessID = Process.ReportProcessID INNER JOIN
                          dbo.ServiceDeskSurveyData AS ServiceDeskSurveyData1 WITH (NOLOCK) ON 
                          ServiceDeskSurveyData1.process_id = ReportProcessRelationship1.ChildProcessID
    WHERE     (Process.Result = 'Closed' OR
                          Process.Result = 'Resolved' OR
                          Process.Result = 'Completed') AND (ServiceDeskSurveyData1.score > 0)
     
     
     
    GO

     



  • 3.  RE: SD 7.1 SP2: View Survey Results

    Posted Apr 23, 2012 10:59 AM

    Joshua - thanks - that first SQL query gives me enough to get them their initial data.  I'll look at the 'Survey Management' piece her ein a bit.  As with anything SD7.1SP2, it's been 'fire-extinguisher' fun over the last couple of weeks since we went live.

    thanks!

    Steve

     



  • 4.  RE: SD 7.1 SP2: View Survey Results

    Posted May 16, 2012 04:48 PM

    excellent, just what I wanted