﻿<?xml version="1.0" encoding="utf-8"?>
<ReportsExport>
  <Reports>
    <Report id="e123de83-3502-4750-b6ad-e422c026b195" codekey="PageViewStatistics" categoryCodekey="SpecialPurpose" name="PageViewStatistics Overview" description="Collecting information for performance / statistic information regarding the usage of the pages and the plattform">
      <MetaData created="2014-03-06T13:49:34" createdBy="Administrator VIWIS (Administrator)" createdBy_user_id="93" modified="2014-03-07T10:58:17" modifiedBy="Thomas Fix" />
      <ExecutionDetails format="TableResult" commandType="SqlCommandOrQuery" exportHandler="" adminControl="" exportMultipleTablesToSheets="False" datesWithTime="False" extraParams="" />
      <Mandators mandatorMode="OnlyOwner" mandator_id="cf85efc9-150b-4eee-8c20-929a112b658c" isStandard="False" isUsedByMenu="False" />
      <Parameters>
        <Parameter id="bf72399d-7582-4b2a-a06c-8d47afe576f2" isRequired="True" name="Von" contextName="Von" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="80245dc5-ca96-4c76-9449-2b5d07b129e9" isRequired="True" name="Bis" contextName="Bis" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="a785aecc-668a-4609-9613-394bd4d708c2" isRequired="False" name="Mandant" contextName="Mandant" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
        <Parameter id="4c4528c8-5327-4efe-9024-bf9383b727b3" isRequired="False" name="Kommzahl" contextName="Verhältnis der Aufrufe &gt; %" defaultValue="" renderHint="Undefined" disableParameter="DontDisable" />
      </Parameters>
      <Roles />
      <command>
        --DECLARE @mandator_id UNIQUEIDENTIFIER
        --DECLARE @startDate DATETIME
        --DECLARE @endDate DATETIME
        DECLARE @totalRequest INT

        DECLARE @tmpTable TABLE
        (
        roomId NVARCHAR(200),
        requests INT,
        minRequest INT,
        maxRequest INT,
        avgRequest DECIMAL(18,3),
        requestPart DECIMAL(18,10) NULL
        )
        INSERT INTO
        @tmpTable
        SELECT
        roomId AS [ROOM],
        COUNT(roomId) AS [#REQUESTS],
        MIN(callTime) AS [MINREQUEST (ms)],
        MAX(callTime) AS [MAXREQUEST (ms)],
        AVG(CAST(callTime AS BIGINT)) AS [AVGREQUEST (ms)],
        NULL
        FROM
        (
        SELECT
        CASE WHEN roomId LIKE '?-MainRoom' AND requestedURL NOT LIKE '%/TasWebPlayers%' THEN
        roomId
        ELSE
        CASE WHEN roomID LIKE '?-AdminControl' THEN
        CASE WHEN requestedURL LIKE '%Certificate%' THEN
        'CertificateAsPDF'
        ELSE
        CASE WHEN requestedURL LIKE '%WrongAnswersDetails%' THEN
        'WrongAnswersDetails'
        ELSE
        CASE WHEN requestedURL LIKE '%AdminTool%' THEN
        'AdminTool (generic)'
        ELSE
        CASE WHEN requestedURL LIKE '%WBT%' THEN
        'WBTWebPlayer'
        ELSE
        roomID
        END
        END
        END
        END
        ELSE
        CASE WHEN requestedURL LIKE '%/TasWebPlayers%' THEN
        'TasWebPlayers'
        ELSE
        roomID
        END
        END
        END AS [roomId],
        requestStartTimeStamp,
        requestEndTimeStamp,
        DATEDIFF(ms,requestStartTimeStamp, requestEndTimeStamp) AS callTime
        FROM tblStatsPageViews
        WHERE requestEndTimeStamp IS NOT NULL
        AND (@mandator_id IS NULL OR EXISTS(SELECT * FROM tableUsers WHERE intUserCn = tblStatsPageViews.user_id AND mandator_id = @mandator_id))
        AND DATEDIFF(HH,requestStartTimeStamp, requestEndTimeStamp) &lt; 5 -- remove long time runners
        AND CONVERT(int,REPLACE(convert(char(5), requestEndTimeStamp, 108),':','')) BETWEEN 0400 AND 2300 --removing entries which are executed between downtime
        AND (@startDate IS NULL OR requestStartTimeStamp &gt;= @startDate)
        AND (@endDate IS NULL OR requestEndTimeStamp &lt;= @endDate)
        )
        AS tmp
        GROUP BY roomId

        SELECT @totalRequest = SUM(requests) FROM @tmpTable

        UPDATE
        @tmpTable
        SET
        requestPart = CAST(requests AS DECIMAL) / CAST(@totalRequest AS DECIMAL) * 100

        SELECT
        roomId AS [ROOM],
        requests AS [#REQUESTS],
        minRequest AS [MINREQUEST (ms)],
        maxRequest AS [MAXREQUEST (ms)],
        REPLACE(CAST(avgRequest AS NVARCHAR(100)),'.',',') AS [AVGREQUEST (ms)],
        REPLACE(CAST(requestPart AS NVARCHAR(100)),'.',',') AS [PERCENTAGE %]
        FROM @tmpTable
        WHERE (@float IS NULL OR requestPart &gt;= @float)
      </command>
    </Report>
  </Reports>
  <Parameters>
    <Parameter id="bf72399d-7582-4b2a-a06c-8d47afe576f2" isSystem="True" name="Von" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@startDate" />
    <Parameter id="80245dc5-ca96-4c76-9449-2b5d07b129e9" isSystem="True" name="Bis" reportParameterType_id="74253ba7-a386-4620-bff7-b65c16fe1e64" queryParameterName="@endDate" />
    <Parameter id="a785aecc-668a-4609-9613-394bd4d708c2" isSystem="True" name="Mandant" reportParameterType_id="6b8fa242-5449-45b3-a81a-65a7e5e3b51d" queryParameterName="@mandator_id" />
    <Parameter id="4c4528c8-5327-4efe-9024-bf9383b727b3" isSystem="True" name="Kommzahl" reportParameterType_id="aed4563f-99a8-4741-88ac-803413dff9d1" queryParameterName="@float" />
  </Parameters>
  <ParameterTypes>
    <ParameterType id="74253ba7-a386-4620-bff7-b65c16fe1e64" isSystem="True" name="Date" datatype="Date" dataValueField="" dataTextField="" />
    <ParameterType id="6b8fa242-5449-45b3-a81a-65a7e5e3b51d" isSystem="True" name="Mandator" datatype="Mandator" dataValueField="" dataTextField="" />
    <ParameterType id="aed4563f-99a8-4741-88ac-803413dff9d1" isSystem="True" name="Float" datatype="Float" dataValueField="" dataTextField="" />
  </ParameterTypes>
</ReportsExport>