home *** CD-ROM | disk | FTP | other *** search
/ moodle.waes.ac.uk / moodle.waes.ac.uk.zip / moodle.waes.ac.uk / TMG / SP1-TMG-KB981324-AMD64-ENU.msp / PCW_CAB_SHFx2 / F2143_msfpcui.dll / BINARY / 25442 < prev    next >
Text File  |  2010-06-15  |  3KB  |  79 lines

  1. CREATE PROCEDURE [dbo].[ISA_spCacheSummaryRDL]
  2.     @FromDate datetime,
  3.     @ToDate datetime,
  4.     @ReportType varchar(10),
  5.     @SortOrder varchar(100)
  6. AS
  7. BEGIN
  8.  -- the Cache table contain values that we want to map in the following way:
  9.  -- Cache + NotModified + NVCache = Cache without verification
  10.  -- VCache - Cache with verification
  11.  -- Inet + Upstream = Internet
  12.  -- VFInet -  Internet with cache update
  13.     DECLARE @SummTableName varchar(100)
  14.     SET @SummTableName = dbo.fnGetSummaryTableName('tblCacheSummary', @FromDate, @ToDate, @ReportType)
  15.     CREATE TABLE #Table1
  16.     (
  17.         ResponseInt int,
  18.         Requests bigint,
  19.         TotalBytes bigint
  20.     )
  21.     INSERT INTO #Table1 ([ResponseInt],[Requests],[TotalBytes])
  22.     VALUES (0,0,0)
  23.     INSERT INTO #Table1 ([ResponseInt],[Requests],[TotalBytes])
  24.     VALUES (1,0,0)
  25.     INSERT INTO #Table1 ([ResponseInt],[Requests],[TotalBytes])
  26.     VALUES (2,0,0)
  27.     INSERT INTO #Table1 ([ResponseInt],[Requests],[TotalBytes])
  28.     VALUES (4,0,0)
  29.     INSERT INTO #Table1 ([ResponseInt],[Requests],[TotalBytes])
  30.     VALUES (5,0,0)
  31.     IF OBJECT_ID (@SummTableName, 'u') IS NOT NULL
  32.     BEGIN
  33.         DECLARE @strQuery varchar(8000)
  34.         SET @strQuery =
  35.         'SELECT
  36.             ResponseInt =
  37.             CASE
  38.                 WHEN [Response] IN (1, 3, 8) THEN 1
  39.                 WHEN [Response] = 2 THEN 2
  40.                 WHEN [Response] IN (5, 7) THEN 5
  41.                 WHEN [Response] = 4 THEN 4
  42.                 ELSE 0
  43.             END,
  44.             Requests,
  45.             TotalBytes
  46.         FROM ' + @SummTableName + '
  47.         WHERE ([date] >= ' + QUOTENAME(CONVERT(varchar, @FromDate, 126),CHAR(39)) + ' AND [date] <= ' + QUOTENAME(CONVERT(varchar, @ToDate, 126),CHAR(39)) + ')
  48.         '
  49.         INSERT #Table1
  50.         EXEC(@strQuery)
  51.     END
  52.     DECLARE @TotalRequests bigint
  53.     SET @TotalRequests = (SELECT SUM([Requests]) FROM #Table1)
  54.     IF (@TotalRequests = 0)
  55.         SET @TotalRequests = 1
  56.     SELECT
  57.         CASE
  58.             WHEN [ResponseInt] = 1 THEN N'{[23026]}'
  59.             WHEN [ResponseInt] = 2 THEN N'{[23027]}'
  60.             WHEN [ResponseInt] = 5 THEN N'{[23029]}'
  61.             WHEN [ResponseInt] = 4 THEN N'{[23030]}'
  62.             ELSE N'{[23031]}'
  63.         END AS Response,
  64.         SUM([Requests]) AS Requests,
  65.         CAST(SUM([Requests]) AS DECIMAL) / @TotalRequests AS RequestRatio,
  66.         SUM([TotalBytes]) AS TotalBytes
  67.     INTO #Table2
  68.     FROM #Table1
  69.     GROUP BY
  70.         [ResponseInt]
  71.     SELECT *
  72.     FROM #Table2
  73.     ORDER BY
  74.         CASE
  75.             WHEN @SortOrder = 'Requests' THEN [Requests]
  76.             ELSE [TotalBytes]
  77.         END DESC;
  78. END
  79.