Try followig code
SELECT COL1,COL2,COL3 ,COL4 ,COL5 ,COL6 ,COL7 FROM TABLE_A WHERE COL7='TYPE_A' AND COL6 = '201703'
UNION ALL
SELECT 'SUM' AS COL1,SUM(COL2),SUM(COL3) ,SUM(COL4) ,SUM(COL5) ,COL6 ,MAX(COL7) FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201703' AND COL7='TYPE_A'
UNION ALL
SELECT A.COL1,(((A.COL2/CAST(B.COL2PREV AS FLOAT ))*100)-100) AS COL2 ,
(((A.COL3/CAST(B.COL3PREV AS FLOAT ))*100)-100) AS COL3 ,
(((A.COL4/CAST(B.COL4PREV AS FLOAT ))*100)-100) AS COL4 ,
(((A.COL5/CAST(B.COL5PREV AS FLOAT ))*100)-100) AS COL5 ,
A.COL6 AS COL6,A.COL7 AS COL7
FROM
(SELECT 'RATE' AS COL1,SUM(COL2) COL2,SUM(COL3) COL3 ,SUM(COL4) COL4,SUM(COL5) COL5 ,COL6 ,MAX(COL7) COL7 FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201703' AND COL7='TYPE_A') AS A,
(SELECT 'RATE' AS COL1PREV,SUM(COL2) COL2PREV,SUM(COL3) COL3PREV ,SUM(COL4) COL4PREV,SUM(COL5) COL5PREV,COL6 ,MAX(COL7) AS COL7PREV FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201702' AND COL7='TYPE_A') AS B
UNION ALL
SELECT COL1,COL2,COL3 ,COL4 ,COL5 ,COL6 ,COL7 FROM TABLE_A WHERE COL7='TYPE_B' AND COL6 = '201703'
UNION ALL
SELECT 'SUM' AS COL1,SUM(COL2),SUM(COL3) ,SUM(COL4) ,SUM(COL5) ,COL6 ,MAX(COL7) FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201703' AND COL7='TYPE_B'
UNION ALL
SELECT A.COL1,(((A.COL2/CAST(B.COL2PREV AS FLOAT ))*100)-100) AS COL2 ,
(((A.COL3/CAST(B.COL3PREV AS FLOAT ))*100)-100) AS COL3 ,
(((A.COL4/CAST(B.COL4PREV AS FLOAT ))*100)-100) AS COL4 ,
(((A.COL5/CAST(B.COL5PREV AS FLOAT ))*100)-100) AS COL5 ,
A.COL6 AS COL6,A.COL7 AS COL7
FROM
(SELECT 'RATE' AS COL1,SUM(COL2) COL2,SUM(COL3) COL3 ,SUM(COL4) COL4,SUM(COL5) COL5 ,COL6 ,MAX(COL7) COL7 FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201703' AND COL7='TYPE_B') AS A,
(SELECT 'RATE' AS COL1PREV,SUM(COL2) COL2PREV,SUM(COL3) COL3PREV ,SUM(COL4) COL4PREV,SUM(COL5) COL5PREV,COL6 ,MAX(COL7) AS COL7PREV FROM TABLE_A GROUP BY COL6,COL7 HAVING COL6 ='201702' AND COL7='TYPE_B') AS B