Boa tarde, estou criando um relatório no cubo e estou dificuldade para somar o total das horas
como pode ver na imagem no total geral não esta somando as horas negativas nem positivas
se alguem tiver alguma dica para me ajudar Obrigado.
segue a consulta sql que estou usando :
SELECT P.CHAPA, P.NOME, P.CODSECAO, PSECAO.DESCRICAO, 'NEGATIVAS' AS TIPO,
dbo.formato_hora((SUM(ABAN.EXTRAFAIXA1) + SUM(ABAN.EXTRAFAIXA2) + SUM(ABAN.EXTRAFAIXA3) + SUM(ABAN.EXTRAFAIXA4) +
SUM(ABAN.EXTRAFAIXA5) + SUM(ABAN.EXTRACOMP1) + SUM(ABAN.EXTRACOMP2) + SUM(ABAN.EXTRADESC1) +
SUM(ABAN.EXTRADESC2) + SUM(ABAN.EXTRAFER1) + SUM(ABAN.EXTRAFER2))
- ( Sum(ABAN.FALTA) + SUM(ABAN.ATRASO)),2) AS NEGATIVAS, '' AS POSITIVAS,
DATEPART(MONTH,ABAN.DATA) AS MES,
CASE when DATEPART(MONTH,ABAN.DATA) = '5' then 'MAI'
WHEN DATEPART(MONTH,ABAN.DATA) = '6' then 'JUN'
WHEN DATEPART(MONTH,ABAN.DATA) = '7' then 'JUL'
WHEN DATEPART(MONTH,ABAN.DATA) = '8' then 'AGO'
WHEN DATEPART(MONTH,ABAN.DATA) = '9' then 'SET'
WHEN DATEPART(MONTH,ABAN.DATA) = '10' then 'OUT'
ELSE 'N/A' END AS ORDENACAO
FROM ABANCOHORFUN ABAN (NOLOCK) INNER JOIN PFUNC P (NOLOCK) ON ABAN.CHAPA=P.CHAPA, PSECAO (NOLOCK)
WHERE P.CODSECAO=PSECAO.CODIGO
AND (DATA BETWEEN '2022-05-01' and '2022-08-31')
AND P.CODSITUACAO NOT IN ('D','E')
AND (PSECAO.CODIGO = '02.15.01'
OR PSECAO.CODIGO = '02.24.01')
GROUP BY P.CHAPA, P.NOME, P.CODSITUACAO, PSECAO.DESCRICAO, P.CODSECAO, P.CODCOLIGADA, P.SALARIO, P.JORNADAMENSAL, DATEPART(MONTH,ABAN.DATA)
HAVING (SUM(ABAN.EXTRAFAIXA1) + SUM(ABAN.EXTRAFAIXA2) + SUM(ABAN.EXTRAFAIXA3) + SUM(ABAN.EXTRAFAIXA4) +
SUM(ABAN.EXTRAFAIXA5) + SUM(ABAN.EXTRACOMP1) + SUM(ABAN.EXTRACOMP2) + SUM(ABAN.EXTRADESC1) +
SUM(ABAN.EXTRADESC2) + SUM(ABAN.EXTRAFER1) + SUM(ABAN.EXTRAFER2))
- ( Sum(ABAN.FALTA) + SUM(ABAN.ATRASO)) < 0
UNION
SELECT P.CHAPA, P.NOME, P.CODSECAO, PSECAO.DESCRICAO, 'POSITIVAS' AS TIPO,
'' AS NEGATIVAS,
dbo.formato_hora((SUM(ABAN.EXTRAFAIXA1) + SUM(ABAN.EXTRAFAIXA2) + SUM(ABAN.EXTRAFAIXA3) + SUM(ABAN.EXTRAFAIXA4) +
SUM(ABAN.EXTRAFAIXA5) + SUM(ABAN.EXTRACOMP1) + SUM(ABAN.EXTRACOMP2) + SUM(ABAN.EXTRADESC1) +
SUM(ABAN.EXTRADESC2) + SUM(ABAN.EXTRAFER1) + SUM(ABAN.EXTRAFER2))
- ( Sum(ABAN.FALTA) + SUM(ABAN.ATRASO)),2) AS POSITIVAS,
DATEPART(MONTH,ABAN.DATA) AS MES,
CASE when DATEPART(MONTH,ABAN.DATA) = '5' then 'MAI'
WHEN DATEPART(MONTH,ABAN.DATA) = '6' then 'JUN'
WHEN DATEPART(MONTH,ABAN.DATA) = '7' then 'JUL'
WHEN DATEPART(MONTH,ABAN.DATA) = '8' then 'AGO'
WHEN DATEPART(MONTH,ABAN.DATA) = '9' then 'SET'
WHEN DATEPART(MONTH,ABAN.DATA) = '10' then 'OUT'
ELSE 'N/A' END AS ORDENACAO
FROM ABANCOHORFUN ABAN (NOLOCK) INNER JOIN PFUNC P (NOLOCK) ON ABAN.CHAPA=P.CHAPA, PSECAO (NOLOCK)
WHERE P.CODSECAO=PSECAO.CODIGO
AND (DATA BETWEEN '2022-05-01' and '2022-08-31')
AND P.CODSITUACAO NOT IN ('D','E')
AND (PSECAO.CODIGO = '02.15.01'
OR PSECAO.CODIGO = '02.24.01')
GROUP BY P.CHAPA, P.NOME, P.CODSITUACAO, PSECAO.DESCRICAO, P.CODSECAO, P.CODCOLIGADA, P.SALARIO, P.JORNADAMENSAL, DATEPART(MONTH,ABAN.DATA)
HAVING (SUM(ABAN.EXTRAFAIXA1) + SUM(ABAN.EXTRAFAIXA2) + SUM(ABAN.EXTRAFAIXA3) + SUM(ABAN.EXTRAFAIXA4) +
SUM(ABAN.EXTRAFAIXA5) + SUM(ABAN.EXTRACOMP1) + SUM(ABAN.EXTRACOMP2) + SUM(ABAN.EXTRADESC1) +
SUM(ABAN.EXTRADESC2) + SUM(ABAN.EXTRAFER1) + SUM(ABAN.EXTRAFER2))
- ( Sum(ABAN.FALTA) + SUM(ABAN.ATRASO)) > 0
ORDER BY 8