﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="a517dd2a-f566-4756-8203-caeb0bf8cbf7" codekey="ERGO_DetailansichtTeststatistik" categoryCodekey="UserStats" name="Detailansicht Teststatistik" description="Der ERGO-spezifische Report fasst verschiedene Ansichten der Teststatistik (Übersicht und Detailansicht) zur einfacheren Weiterverarbeitung zusammen. Der Report ist explizit auf die Auswertung von VFW Tests, bzw. Tests mit genau 5 Sachgebieten ausgelegt.">
      <MetaData created="2016-01-29T14:46:17" createdBy="Administrator ERGO_e-Campus (Administrator)" createdBy_user_id="3" modified="2016-06-01T14:33:24" modifiedBy="Heiliger Bimbam" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="96ba2868-8baf-4e69-b1fb-d2cc6d6832e8" mandatorName="ERGO_e-Campus" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="False" allowMultiSelect="False" name="Zielgruppe" contextName="Zielgruppe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="8dc2cd19-6d97-45c7-a52b-740a2cf7764b" isRequired="True" allowMultiSelect="False" name="Test abhängig vom Zielgruppe" contextName="Test abhängig vom Zielgruppe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles />
      <command>

        declare @sqlScript nvarchar(4000)

        set @sqlScript =
        'select
        nachname as Name,
        vorname as Vorname,
        descUserCn as Kennung,
        division as Abteilung,
        Area as Gebiet,
        Office as Dienststelle,
        CONVERT(VARCHAR, suih.startDate, 104) + '' '' +
        CONVERT(CHAR(5), suih.startDate, 108)  AS Datum,
        CASE WHEN status = 2 THEN ''Bestanden'' ELSE ''Nicht bestanden'' END as Status,
        cast(cast(suih.percentage as int) as varchar) + '' %'' as Prozentsatz '


        --get first 5 target groups
        declare @subjectGroupId uniqueidentifier
        declare @subjectGroupName nvarchar(100)
        declare @counter int = 1

        DECLARE sg_cursor CURSOR FOR
        select distinct subjectGroupId, dbo.fn_GetResourceString(tblTasQuestionCategories.name_resource_id,1031,1,1033)
        from tblTasTestSessionQuestions
        inner join tblTasTestSessions on tblTasTestSessions.id = tblTasTestSessionQuestions.testSessionId
        inner join tblTasQuestionCategories on tblTasTestSessionQuestions.subjectGroupId = tblTasQuestionCategories.id
        where tblTasTestSessions.test_id=@test_id
        order by dbo.fn_GetResourceString(tblTasQuestionCategories.name_resource_id,1031,1,1033)

        OPEN sg_cursor
        FETCH NEXT FROM sg_cursor INTO @subjectGroupId , @subjectGroupName
        WHILE @@FETCH_STATUS = 0
        BEGIN
          if(@subjectGroupId is not null)
            SET @sqlScript = @sqlScript+
              ' ,
              case when not EXISTS(select * from tblTasTestSessionQuestions where testSessionId = tblTasTestSessions.id and subjectGroupId=''' + cast(@subjectGroupId as nvarchar(50)) + ''')
              then ''0'' else
              cast(cast(ROUND(
              100.00*(select count(*) from tblTasTestSessionQuestions where testSessionId = tblTasTestSessions.id and subjectGroupId=''' + cast(@subjectGroupId as nvarchar(50)) + ''' and answeredCorrectly=1)/
              (select count(*) from tblTasTestSessionQuestions where testSessionId = tblTasTestSessions.id and subjectGroupId=''' + cast(@subjectGroupId as nvarchar(50)) + '''),0) as int)
              as varchar) end
              + '' %''
              as ''' + ISNULL(@subjectGroupName,'Sachgebiet' + cast(@counter as varchar(2))) + ''''
          SET @counter = @counter + 1
          FETCH NEXT FROM sg_cursor INTO @subjectGroupId , @subjectGroupName
        END
        CLOSE sg_cursor
        DEALLOCATE sg_cursor


        set @sqlScript = @sqlScript+
        ' from v_Users
        inner join tblUsersTargetGroups on v_Users.intusercn = tblUsersTargetGroups.usercn and targetGroup_id = ' + cast(@targetGroup_id as nvarchar(20)) + '
        inner join tblStatusUserItemHistory suih on v_Users.intusercn = suih.user_id
        inner join tblTasTestSessions on tblTasTestSessions.id = suih.session_id
        where suih.item_id=''' + cast(@test_id as nvarchar(100)) + ''' and suih.endDate is null
        order by nachname, vorname
        '

        exec(@sqlScript)
      </command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isSystem="True" name="Zielgruppe" reportParameterType_id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" queryParameterName="@targetGroup_id" />
    <Parameter id="8dc2cd19-6d97-45c7-a52b-740a2cf7764b" isSystem="True" name="Test abhängig vom Zielgruppe" reportParameterType_id="897a2480-ce48-4746-9773-31b723c715a9" queryParameterName="@test_id" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" isSystem="True" name="TargetGroup" datatype="TargetGroup" dataValueField="" dataTextField="" />
    <ParameterType id="897a2480-ce48-4746-9773-31b723c715a9" isSystem="False" name="Test abhängig vom Zielgruppe Typ" datatype="GuidDDL" dataValueField="id" dataTextField="title">
      <query>
        SELECT DISTINCT tblItems.id,
        tblItems.title
        FROM tblItems
        inner JOIN tblModuleItems ON tblModuleItems.item_id = tblItems.id AND tblItems.itemType_id = 0 --test
        inner JOIN tblEduOffersModules ON tblModuleItems.module_id = tblEduOffersModules.module_id
        inner JOIN tblEduOffersTargetGroups ON tblEduOffersTargetGroups.eduOffer_id = tblEduOffersModules.eduOffer_id
        WHERE tblEduOffersTargetGroups.targetGroup_id = @targetGroup_id
      </query>
      <Parameters>
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="False" allowMultiSelect="False" name="Zielgruppe" contextName="Zielgruppe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
    </ParameterType>
  </ParameterTypes>
</ReportsExport>