Anderson Cataldo Postado 30 de Novembro de 2010 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 24 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 165 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Denunciar Compartilhar Postado 30 de Novembro de 2010 Olá pessoal, estou gerando um Cubo para saber o custo com demissões em determinada data conforme select abaixo. SELECT PFUNC.CODCOLIGADA, UPPER(PSECAO.CIDADE) AS 'FILIAL', PFUNC.CHAPA, PFUNC.NOME AS 'nome', PFUNCAO.NOME AS 'função', PFUNC.DATAADMISSAO, PFUNC.DATADEMISSAO, PFFINANC.MESCOMP, PFFINANC.ANOCOMP AS 'ano', PFFINANC.CODEVENTO AS 'cod. evento', PEVENTO.DESCRICAO AS 'evento', PFFINANC.REF, PFUNC.CODSITUACAO AS 'situação', GCOLIGADA.NOME AS 'coligada', CASE PEVENTO.PROVDESCBASE WHEN 'P' THEN PFFINANC.VALOR WHEN 'D' THEN (PFFINANC.VALOR*-1) END AS VALOR, UPPER(PTPDEMISSAO.DESCRICAO) AS 'tipo demissao', PEVENTO.PROVDESCBASE AS 'TIPO EVENTO', CASE WHEN PFUNC.CODTIPO = 'T' THEN 'ESTAGIARIO' ELSE 'CLT' END AS 'TIPO CONTRATO' FROM PFUNC LEFT OUTER JOIN PFFINANC ON (PFUNC.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFUNC.CHAPA=PFFINANC.CHAPA) LEFT OUTER JOIN PEVENTO ON (PFFINANC.CODCOLIGADA=PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO=PEVENTO.CODIGO) LEFT OUTER JOIN PSECAO ON (PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO) LEFT OUTER JOIN PFHSTFCO ON (PFUNC.CODCOLIGADA=PFHSTFCO.CODCOLIGADA AND PFUNC.CHAPA=PFHSTFCO.CHAPA) LEFT OUTER JOIN PFHSTSIT ON (PFUNC.CODCOLIGADA=PFHSTSIT.CODCOLIGADA AND PFUNC.CHAPA=PFHSTSIT.CHAPA) LEFT OUTER JOIN PFUNCAO ON (PFHSTFCO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND PFHSTFCO.CODFUNCAO=PFUNCAO.CODIGO) LEFT OUTER JOIN PTPDEMISSAO ON (((PFUNC.TIPODEMISSAO = PTPDEMISSAO.CODCLIENTE))) LEFT OUTER JOIN GCOLIGADA ON (PFUNC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) WHERE PFHSTSIT.DATAMUDANCA = (SELECT MAX(PFHSTSIT.DATAMUDANCA) FROM PFHSTSIT WHERE PFHSTSIT.CHAPA = PFUNC.CHAPA AND PFHSTSIT.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSIT.DATAMUDANCA <=:DATA_D ) AND PFUNC.CODCOLIGADA IN (1,9,10,11) AND PFFINANC.MESCOMP = :MES_S AND PFFINANC.ANOCOMP = :ANO_S AND PEVENTO.PROVDESCBASE <> 'B' AND PFUNC.CODSITUACAO = 'D' Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Anderson Cataldo Postado 30 de Novembro de 2010 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 24 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 165 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 30 de Novembro de 2010 Olá pessoal, estou gerando um Cubo para saber o custo com demissões em determinada data conforme select abaixo.SELECT PFUNC.CODCOLIGADA, UPPER(PSECAO.CIDADE) AS 'FILIAL', PFUNC.CHAPA, PFUNC.NOME AS 'nome', PFUNCAO.NOME AS 'função', PFUNC.DATAADMISSAO, PFUNC.DATADEMISSAO, PFFINANC.MESCOMP, PFFINANC.ANOCOMP AS 'ano', PFFINANC.CODEVENTO AS 'cod. evento', PEVENTO.DESCRICAO AS 'evento', PFFINANC.REF, PFUNC.CODSITUACAO AS 'situação', GCOLIGADA.NOME AS 'coligada', CASE PEVENTO.PROVDESCBASE WHEN 'P' THEN PFFINANC.VALOR WHEN 'D' THEN (PFFINANC.VALOR*-1) END AS VALOR, UPPER(PTPDEMISSAO.DESCRICAO) AS 'tipo demissao', PEVENTO.PROVDESCBASE AS 'TIPO EVENTO', CASE WHEN PFUNC.CODTIPO = 'T' THEN 'ESTAGIARIO' ELSE 'CLT' END AS 'TIPO CONTRATO' FROM PFUNC LEFT OUTER JOIN PFFINANC ON (PFUNC.CODCOLIGADA=PFFINANC.CODCOLIGADA AND PFUNC.CHAPA=PFFINANC.CHAPA) LEFT OUTER JOIN PEVENTO ON (PFFINANC.CODCOLIGADA=PEVENTO.CODCOLIGADA AND PFFINANC.CODEVENTO=PEVENTO.CODIGO) LEFT OUTER JOIN PSECAO ON (PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO) LEFT OUTER JOIN PFHSTFCO ON (PFUNC.CODCOLIGADA=PFHSTFCO.CODCOLIGADA AND PFUNC.CHAPA=PFHSTFCO.CHAPA) LEFT OUTER JOIN PFHSTSIT ON (PFUNC.CODCOLIGADA=PFHSTSIT.CODCOLIGADA AND PFUNC.CHAPA=PFHSTSIT.CHAPA) LEFT OUTER JOIN PFUNCAO ON (PFHSTFCO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND PFHSTFCO.CODFUNCAO=PFUNCAO.CODIGO) LEFT OUTER JOIN PTPDEMISSAO ON (((PFUNC.TIPODEMISSAO = PTPDEMISSAO.CODCLIENTE))) LEFT OUTER JOIN GCOLIGADA ON (PFUNC.CODCOLIGADA = GCOLIGADA.CODCOLIGADA) WHERE PFHSTSIT.DATAMUDANCA = (SELECT MAX(PFHSTSIT.DATAMUDANCA) FROM PFHSTSIT WHERE PFHSTSIT.CHAPA = PFUNC.CHAPA AND PFHSTSIT.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFHSTSIT.DATAMUDANCA <=:DATA_D ) AND PFUNC.CODCOLIGADA IN (1,9,10,11) AND PFFINANC.MESCOMP = :MES_S AND PFFINANC.ANOCOMP = :ANO_S AND PEVENTO.PROVDESCBASE <> 'B' AND PFUNC.CODSITUACAO = 'D' Aqui ele gera os valores mais alguns funcionários ficam com valores bem acima do gerado/pago em rescisão. Alguem saberia me ajudar nessa situação? Agradeço a atenção! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 30 de Novembro de 2010 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 30 de Novembro de 2010 Aqui ele gera os valores mais alguns funcionários ficam com valores bem acima do gerado/pago em rescisão. Alguem saberia me ajudar nessa situação?Agradeço a atenção! Anderson, Se tiver algum campo que retorne null, o cubo pode estar se perdendo faça o tratamento com isnull(campo,0). Tente isso se não for retorne novamente. []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Deige Mendes Postado 1 de Dezembro de 2010 Tópicos Que Criei: 14 Tópicos/Dia: 0.00 Meu Conteúdo: 157 Conteúdo/Dia: 0.03 Reputação: 3 Pontos/Conquistas: 923 Conteúdo Resolvido: 0 Dias Ganho: 2 Status: Offline Idade: 37 Denunciar Compartilhar Postado 1 de Dezembro de 2010 Meu caro ...verifique se naum a valores de resultado na sua consulta como NULL, pois nos cubos valores NULL ele duplica com o valor do registo anterior . Você pode adicionar na sua consulta caso for NULL ele incluir 0 . Tente realizar este teste. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 1 de Dezembro de 2010 Tópicos Que Criei: 902 Tópicos/Dia: 0.14 Meu Conteúdo: 8.855 Conteúdo/Dia: 1.34 Reputação: 311 Pontos/Conquistas: 106.701 Conteúdo Resolvido: 0 Dias Ganho: 196 Status: Offline Idade: 52 Dispositivo: Windows Denunciar Compartilhar Postado 1 de Dezembro de 2010 Anderson, por favor, verifique para não postar topicos em duplicidade. Você postou este, e um outro exatamente igual, na sequencia. Apaguei o outro e movi a resposta do nosso colega DEIGE para cá. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Anderson Cataldo Postado 1 de Dezembro de 2010 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 24 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 165 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 1 de Dezembro de 2010 Anderson,Se tiver algum campo que retorne null, o cubo pode estar se perdendo faça o tratamento com isnull(campo,0). Tente isso se não for retorne novamente. []'s Eu apliquei o tratamento e deu resultado, porém na amostra que obtive só uma pessoa está retornando com valores acima do normal. No cubo desmarquei o evento de "pagamento de adiantamento" que poderia estar retornando totais errados e deu certo, mas a pessoa com o problema continua com os eventos muito acima do mostrado no envelope, o porque ainda não sei... Anderson, por favor, verifique para não postar topicos em duplicidade. Você postou este, e um outro exatamente igual, na sequencia. Apaguei o outro e movi a resposta do nosso colega DEIGE para cá. Desculpe, realmente cometi esse erro! Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Frederico Postado 1 de Dezembro de 2010 Tópicos Que Criei: 11 Tópicos/Dia: 0.00 Meu Conteúdo: 1.140 Conteúdo/Dia: 0.21 Reputação: 60 Pontos/Conquistas: 6.161 Conteúdo Resolvido: 0 Dias Ganho: 33 Status: Offline Idade: 42 Dispositivo: Windows Denunciar Compartilhar Postado 1 de Dezembro de 2010 Eu apliquei o tratamento e deu resultado, porém na amostra que obtive só uma pessoa está retornando com valores acima do normal. No cubo desmarquei o evento de "pagamento de adiantamento" que poderia estar retornando totais errados e deu certo, mas a pessoa com o problema continua com os eventos muito acima do mostrado no envelope, o porque ainda não sei...Desculpe, realmente cometi esse erro! Bom dia Anderson, Verifique no registro desse funcionário se todas as informações estão corretas de acordo com o período informado, pois se agora o relatório está tudo ok para todos e só esse que não, então pode ter alguma informação lançada de forma equivocada para esse funcionário. []'s Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Anderson Cataldo Postado 1 de Dezembro de 2010 Tópicos Que Criei: 5 Tópicos/Dia: 0.00 Meu Conteúdo: 24 Conteúdo/Dia: 0.00 Reputação: 0 Pontos/Conquistas: 165 Conteúdo Resolvido: 0 Dias Ganho: 0 Status: Offline Autor Denunciar Compartilhar Postado 1 de Dezembro de 2010 Frederico, estou realizando alguns testes creio que tem algo a ver com a tabelo de histórico do funcionário. No caso retirei 'WHERE PFHSTSIT.DATAMUDANCA = (SELECT MAX(PFHSTSIT.DATAMUDANCA) FROM PFHSTSIT" aí os valores duplicaram... estou tentando entender onde está duplicando. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
Participe da conversa
Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.