﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="28d1c0ab-f8bb-4018-a0f9-f09159b2fa85" codekey="BARMENIA_TestResultsPerEduOffer" categoryCodekey="TestsAndQuestions" name="Testergebnisse per Bildungsangebot" description="Dieser Report gibt das jeweils beste Testergebnis innerhalb eines Bildungsangebotes für die Benutzer aus">
      <MetaData created="2020-07-23T14:46:16" createdBy="BARMENIA, Administrator (Administrator)" createdBy_user_id="5" modified="2021-01-07T16:21:08" modifiedBy="(jpkaiser)" modifiedBy_user_id="29757" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="510a6f44-8c3c-414e-8c1f-c320062f89dd" mandatorName="BARMENIA" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="fe768a68-c33b-4be0-815b-10405ccf541d" isRequired="True" allowMultiSelect="False" name="Bildungsangebot" contextName="Bildungsangebot" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isRequired="False" allowMultiSelect="False" name="Zielgruppe" contextName="Zielgruppe" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isRequired="False" allowMultiSelect="False" name="Zeitraum" contextName="Zeitraum" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles>
        <Role id="90" />
      </Roles>
      <command>/*DECLARE @eduOffer_id uniqueidentifier ='082418BE-DD1D-4F18-932B-33789BC18D4A'
DECLARE @targetGroup_id INT
DECLARE @dateRange_start DATETIME 
DECLARE @dateRange_end DATETIME
*/
-- Die Benutzer die das Bildungsangebot zugeordnet haben
CREATE TABLE #users (
	descUserCn NVARCHAR(200),
	Nachname NVARCHAR(200),
	Vorname NVARCHAR(200),
	Eintrittsdatum NVARCHAR(MAX),
	intUserCn INT
)

-- Die Items des Bildungsangebots
CREATE Table #items(
	item_id uniqueidentifier
)

CREATE TABLE #usersAndItems(
	descUserCn NVARCHAR(200),
	Nachname NVARCHAR(200),
	Vorname NVARCHAR(200),
	Eintrittsdatum NVARCHAR(MAX),
	intUserCn INT,
	item_id uniqueidentifier
)


INSERT INTO #users
SELECT u.descUserCn, u.Nachname, u.Vorname,ISNULL(CAST(uc.customAttribute3 AS NVARCHAR),'-'), uai.user_id
FROM v_UsersAssignedItems uai
INNER JOIN v_Users u ON uai.user_id = u.intUserCn
INNER JOIN tblUserCustomAttributes uc ON uc.user_id = u.intUserCn
WHERE uai.item_id =  @eduOffer_id
AND (@targetGroup_id IS NULL OR (EXISTS(SELECT * FROM tblUsersTargetGroups utg WHERE utg.UserCn = uai.user_id AND utg.targetGroup_id = @targetGroup_id)))

-- Die Tests des Bildungsangebotes 
INSERT INTO #items
SELECT DISTINCT mi.item_id FROM tblEduOffersModules eom
INNER JOIN tblModuleItems mi ON mi.module_id = eom.module_id 
	and eom.eduOffer_id = @eduOffer_id
INNER JOIN tblItems i ON i.id = mi.item_id AND i.itemType_id = 0

INSERT INTO #usersAndItems
SELECT * FROM #users, #items

CREATE TABLE #result(
	Benutzerkennung NVARCHAR(255),
	Nachname NVARCHAR(255),
	Vorname NVARCHAR(255),
	Eintrittsdatum NVARCHAR(MAX),
	Zielgruppenname NVARCHAR(MAX),
	Bildungsangebotname NVARCHAR(MAX),
	Bausteintitel NVARCHAR(MAX),
	Datum NVARCHAR(150) NULL,
	Bestanden NVARCHAR(4) NULL,
	Prozent NVARCHAR(10) NULL
)

-- Testergebnisse auslesen und in die Ergebenistabelle schreiben
INSERT INTO #result
SELECT 
descUserCn,
Nachname,
Vorname,
Eintrittsdatum,
ISNULL((SELECT title FROM tblTargetGroups WHERE id = @targetGroup_id),'-'),
(SELECT title FROM tblItems WHERE id = @eduOffer_id),
ISNULL(Stats.title,(SELECT title FROM tblItems WHERE id = ui.item_id)),
ISNULL(CONVERT(NVARCHAR, Stats.endDate, 104), '-'),
CASE WHEN (Stats.passed IS NULL) THEN '-' WHEN(Stats.passed = 1) THEN 'Ja' ELSE 'Nein' END ,
ISNULL(CAST(CAST(Stats.pctQuestions AS INT) AS NVARCHAR),'-')
FROM #usersAndItems ui
OUTER APPLY(
	SELECT TOP(1) i.title, sess.endDate, sess.passed, sess.pctQuestions,i.itemType_id
	FROM v_TblTasStatsTestSessionsAll sess
	INNER JOIN tblItems i ON i.id = sess.test_id AND i.itemType_id = 0
	WHERE sess.endDate &gt;= ISNULL(@dateRange_start,'2010-01-01') AND sess.endDate &lt;= ISNULL(@dateRange_end,GETDATE())
	AND sess.test_id = ui.item_id
	AND sess.user_id = ui.intUserCn
	ORDER BY sess.pctQuestions DESC
) Stats


SELECT * FROM #result
ORDER BY Nachname, Bausteintitel

DROP TABLE #users
DROP TABLE #items
DROP TABLE #usersAndItems
DROP TABLE #result</command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="fe768a68-c33b-4be0-815b-10405ccf541d" isSystem="True" name="Bildungsangebot" reportParameterType_id="1c8f3253-b45b-491e-8539-5214604e259c" queryParameterName="@eduOffer_id" />
    <Parameter id="a5485539-67e0-4912-8255-8081a54efb3c" isSystem="True" name="Zielgruppe" reportParameterType_id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" queryParameterName="@targetGroup_id" />
    <Parameter id="d8e4595f-8bdd-4a54-9298-8f378450e6a0" isSystem="True" name="Zeitraum" reportParameterType_id="abff13be-91c3-4ee1-93a3-7292f8e013ba" queryParameterName="@dateRange" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="1c8f3253-b45b-491e-8539-5214604e259c" isSystem="True" name="EduOffer" datatype="EduOffer" dataValueField="" dataTextField="" />
    <ParameterType id="9ae252e1-18b4-4b71-982c-e27b2d3a5287" isSystem="True" name="TargetGroup" datatype="TargetGroup" dataValueField="" dataTextField="" />
    <ParameterType id="abff13be-91c3-4ee1-93a3-7292f8e013ba" isSystem="True" name="DateRange" datatype="DateRange" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>