Please try this
SELECT
EmpCode,EmpName,[No.ofpresentdays],[No.ofAbscentDays]
FROM
dbo.attendance T
CROSS APPLY (
SELECT Count(*)
FROM (VALUES ([1]), ([2]), ([3]), ([4]), ([5]), ([6]), ([7]), ([8]), ([9]), ([10]), ([11]), ([12]), ([13]), ([14]), ([15]), ([16]), ([17]), ([18]), ([19]), ([20]), ([21]), ([22]), ([23]), ([24]), ([25]), ([26]), ([27]), ([28]), ([29]), ([30]), ([31])) C (Val)
WHERE Val = 'P'
) A ([No.ofpresentdays])
CROSS APPLY (
SELECT Count(*)
FROM (VALUES ([1]), ([2]), ([3]), ([4]), ([5]), ([6]), ([7]), ([8]), ([9]), ([10]), ([11]), ([12]), ([13]), ([14]), ([15]), ([16]), ([17]), ([18]), ([19]), ([20]), ([21]), ([22]), ([23]), ([24]), ([25]), ([26]), ([27]), ([28]), ([29]), ([30]), ([31])) C (Val)
WHERE Val = 'A'
) P ([No.ofAbscentDays])