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 / 25546 < prev    next >
Text File  |  2010-06-15  |  2KB  |  62 lines

  1. CREATE PROCEDURE [dbo].[ISA_spUrlfRestrictedSitesRDL]
  2.     @FromDate datetime,
  3.     @ToDate datetime,
  4.     @ReportType varchar(10),
  5.     @TopCount int
  6. AS
  7. BEGIN
  8.     DECLARE @SummTableName varchar(100)
  9.     SET @SummTableName = dbo.fnGetSummaryTableName('tblSiteSummary', @FromDate, @ToDate, @ReportType)
  10.     CREATE TABLE #Table1
  11.     (
  12.         Site varchar(2048),
  13.         UrlCategory nvarchar(255),
  14.         Requests bigint
  15.     )
  16.     IF OBJECT_ID (@SummTableName, 'u') IS NOT NULL
  17.     BEGIN
  18.         DECLARE @strQuery varchar(8000)
  19.         SET @strQuery =
  20.         'SELECT
  21.             o.[Site],
  22.             oo.UrlCategoryName AS UrlCategory,
  23.             SUM(o.Requests) AS Requests
  24.         FROM ' + @SummTableName + ' AS o
  25.         INNER JOIN [tblUrlfMetadata] AS oo
  26.            ON o.[UrlCategoryId] = oo.[UrlCategoryId]
  27.         WHERE (o.[date] >= ' + QUOTENAME(CONVERT(varchar, @FromDate, 126),CHAR(39)) + ' AND o.[date] <= ' + QUOTENAME(CONVERT(varchar, @ToDate, 126),CHAR(39)) + ')
  28.              AND (o.[Action] = 4)
  29.              AND (o.[UrlCategoryId] >= 0)
  30.         GROUP BY o.[Site],
  31.              oo.UrlCategoryName
  32.         ORDER BY Requests DESC
  33.         '
  34.         INSERT #Table1
  35.         EXEC(@strQuery)
  36.     END
  37.     DECLARE @TotalRequests bigint
  38.     SET @TotalRequests = (SELECT SUM([Requests]) FROM #Table1)
  39.     IF (@TotalRequests = 0)
  40.         SET @TotalRequests = 1
  41.     SELECT TOP(@TopCount)
  42.         Site AS Site,
  43.         UrlCategory AS UrlCategory,
  44.         Requests AS Requests,
  45.         (CAST([Requests] AS decimal) / @TotalRequests) AS RequestRatio
  46.     FROM #Table1
  47.     WHERE [Site] != N'{[23124]}'
  48.     UNION ALL
  49.     SELECT
  50.         N'{[23124]}' AS Site,
  51.         N' ' AS UrlCategory,
  52.         SUM([Requests]) AS Requests,
  53.         (CAST(SUM([Requests]) AS decimal) / @TotalRequests) AS RequestRatio
  54.     FROM #Table1 t1
  55.     WHERE NOT EXISTS
  56.         (SELECT * FROM
  57.            (SELECT TOP(@TopCount) *
  58.             FROM #Table1
  59.             WHERE [Site] != N'{[23124]}') t2
  60.             WHERE ((t1.Site = t2.Site) AND (t1.UrlCategory = t2.UrlCategory)))
  61. END
  62.