Here I have created sql script that will help you out.
SQL
DECLARE @ETASK AS TABLE(Name VARCHAR(20),Task INT,FLAG CHAR)
INSERT INTO @ETASK VALUES
('Jack',1,'I'),
('John',2,'I'),
('Alice',3,'I'),
('John',4,'C'),
('John',5,'I'),
('Alice',6,'C'),
('Alice',7,'C'),
('Alice',8,'C')
SELECT Name
,ROUND(CAST((SELECT COUNT(Name) FROM @ETASK WHERE Name = et.Name AND UPPER(FLAG) = 'I') AS float)/(CAST (COUNT(Name) AS float)) * 100,2) AS 'InComplete(%)'
,ROUND(CAST((SELECT COUNT(Name) FROM @ETASK WHERE Name = et.Name AND UPPER(FLAG) = 'C') AS float)/(CAST (COUNT(Name) AS float)) * 100,2) AS 'Complete(%)'
FROM @ETASK et GROUP BY Name
Screenshot
