• Thanks for your advice and timely reply.

    Please see the sample of my dataset below and would happy if you help me with a pivot or grouping set you mentioned earlier on to generate the sample report I provided.

    Thanks for your help

    DECLARE @MyTable TABLE(

    Period varchar(30)

    , [MonthName] varchar(30)

    , [Code] varchar(30)

    , [Category] varchar(30)

    , [Numerator] float

    , [Denominator] float

    , PCT_Nemerator float

    , [Avg_Numerator] float

    , YTD_numerator float

    , GrandTotal_numerator float

    );

    INSERT INTO @MyTable

    SELECT '2015-16','May','04Q','Cardiology',10,100,'','','','' UNION ALL

    SELECT '2015-16','May','04Q','Cardiology',20,50,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','Cardiology',20,50 ,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','Cardiology',20,50,'','','','' UNION ALL

    SELECT '2015-16','Jul','04Q','Cardiology',20,50,'','','','' UNION ALL

    SELECT '2015-16','Jul','04Q','Cardiology',15,70,'','','','' UNION ALL

    SELECT '2015-16','Aug','04Q','Urology',10,100,'','','','' UNION ALL

    SELECT '2015-16','Aug','04Q','Cardiology',20,50 ,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','Urology',20,50 ,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','Urology',20,50 ,'','','','' UNION ALL

    SELECT '2015-16','April','04Q','ENT',20,50,'','','','' UNION ALL

    SELECT '2015-16','April','04Q','ENT',15,70,'','','','' UNION ALL

    SELECT '2015-16','May','04Q','ENT',10,100 ,'','','','' UNION ALL

    SELECT '2015-16','May','04Q','ENT',20,50,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','ENT',20,50,'','','','' UNION ALL

    SELECT '2015-16','June','04Q','ENT',20,50,'','','','' UNION ALL

    SELECT '2015-16','April','04Q','Cardiology',20,50,'','','','' UNION ALL

    SELECT '2015-16','April','04Q','Cardiology',15,70,'','','',''

    SELECT * FROM @MyTable