Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Cubo Gera valores multipicados


Anderson Cataldo

Posts Recomendados


  • 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

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'

Link para comentar
Compartilhar em outros sites


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  895
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.831
  • Conteúdo/Dia:  1.34
  • Reputação:   306
  • Pontos/Conquistas:  106.495
  • Conteúdo Resolvido:  0
  • Dias Ganho:  192
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

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á.

Link para comentar
Compartilhar em outros sites


  • 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

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!

Link para comentar
Compartilhar em outros sites


  • 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

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

Link para comentar
Compartilhar em outros sites


  • 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

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.

Link para comentar
Compartilhar em outros sites

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.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.