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

Planilha buscando evento da Ficha Financeira


Luiz Pedroza

Posts Recomendados


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Prezados,

Boa Tarde,

Como ainda não estou 100% em planilhas.

Estou precisando de uma planilha que busque um evento (o vários) da ficha financeira e os coloque mensalmente de Janeiro a dezembro de uma determinado ano em colunas, hoje utilizo a Confere Folha por evento onde preenchendo os dados Coligada, Ano, Mes, Periodo e Evento.

Ela utiliza a sentença abaixo.

SELECT PFFINANC.CODCOLIGADA, PFFINANC.CHAPA, PFUNC.NOME, PFUNC.SALARIO, PFUNC.CODSITUACAO, PFUNC.CODSECAO, PSECAO.DESCRICAO, PFFINANC.VALOR, PFFINANC.REF

FROM PFFINANC LEFT OUTER JOIN PFUNC ON

(PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA)

JOIN PSECAO ON

(PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO)

WHERE PFFINANC.CODCOLIGADA = :PLN_$A$3_N AND

PFFINANC.ANOCOMP = :PLN_$A$4_N AND

PFFINANC.MESCOMP = :PLN_$A$5_N AND

PFFINANC.NROPERIODO = :PLN_$A$6_N AND

PFFINANC.CODEVENTO = :PLN_$A$7_N

ORDER BY PFFINANC.CODCOLIGADA, PFUNC.NOME

Agradeço alguma ajuda.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  68
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  997
  • Conteúdo/Dia:  0.15
  • Reputação:   4
  • Pontos/Conquistas:  5.604
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  51

Olá Luiz, eu fiz uma planilha parecida com essa bem legal em um Cliente, vou ver se consigo pra vc.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Olá Luiz, eu fiz uma planilha parecida com essa bem legal em um Cliente, vou ver se consigo pra vc.

Jefferson,

Obrigado pela força.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Luiz,

Dei uma "incrementada" na sua SQL. Utilize-a na planilha para ver se ficou satisfatório:

---------------------------------------------------------------------

SELECT

PFFINANC.CODCOLIGADA,

PFFINANC.CHAPA,

PFUNC.NOME,

PFUNC.SALARIO,

PFUNC.CODSITUACAO,

PFUNC.CODSECAO,

PSECAO.DESCRICAO,

PFFINANC.CODEVENTO,

PEVENTO.DESCRICAO,

PFFINANC.REF,

SUM((CASE WHEN PFFINANC.MESCOMP = 01 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JANEIRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 02 THEN PFFINANC.VALOR ELSE 0 END )) AS 'FEVEREIRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 03 THEN PFFINANC.VALOR ELSE 0 END )) AS 'MARÇO',

SUM((CASE WHEN PFFINANC.MESCOMP = 04 THEN PFFINANC.VALOR ELSE 0 END )) AS 'ABRIL',

SUM((CASE WHEN PFFINANC.MESCOMP = 05 THEN PFFINANC.VALOR ELSE 0 END )) AS 'MAIO',

SUM((CASE WHEN PFFINANC.MESCOMP = 06 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JUNHO',

SUM((CASE WHEN PFFINANC.MESCOMP = 07 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JULHO',

SUM((CASE WHEN PFFINANC.MESCOMP = 08 THEN PFFINANC.VALOR ELSE 0 END )) AS 'AGOSTO',

SUM((CASE WHEN PFFINANC.MESCOMP = 09 THEN PFFINANC.VALOR ELSE 0 END )) AS 'SETEMBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 10 THEN PFFINANC.VALOR ELSE 0 END )) AS 'OUTUBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 11 THEN PFFINANC.VALOR ELSE 0 END )) AS 'NOVEMBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 12 THEN PFFINANC.VALOR ELSE 0 END )) AS 'DEZEMBRO'

FROM

PFFINANC

LEFT OUTER JOIN PFUNC ON (PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA)

JOIN PSECAO ON (PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO)

LEFT OUTER JOIN PEVENTO ON PFFINANC.CODEVENTO = PEVENTO.CODIGO AND PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA

WHERE

PFFINANC.CODCOLIGADA = :PLN_$A$3_N AND

PFFINANC.ANOCOMP = :PLN_$A$4_N AND

PFFINANC.NROPERIODO = :PLN_$A$6_N

GROUP BY

PEVENTO.PROVDESCBASE,

PFFINANC.CODCOLIGADA,

PFFINANC.CHAPA,

PFUNC.NOME,

PFUNC.SALARIO,

PFUNC.CODSITUACAO,

PFUNC.CODSECAO,

PSECAO.DESCRICAO,

PFFINANC.CHAPA,

PFFINANC.CODEVENTO,

PEVENTO.DESCRICAO,

PFFINANC.REF

ORDER BY

PEVENTO.PROVDESCBASE DESC,

PFFINANC.CODCOLIGADA,

PFUNC.NOME

Editado por Alberto Libório
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Em tempo:

Quando convertemos linhas em colunas em uma consulta SQL, chamamos isso de "PIVOT TABLE"

Até o SQL Server 2000 não é possível nominar as colunas dinâmicamente, a não ser utilizando-se de procedure.

Foi incorporado a partir do SQL 2005 uma maneira dinâmica de nominar colunas pela própria consulta SQL.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Luiz,

Dei uma "incrementada" na sua SQL. Utilize-a na planilha para ver se ficou satisfatório:

---------------------------------------------------------------------

SELECT

PFFINANC.CODCOLIGADA,

PFFINANC.CHAPA,

PFUNC.NOME,

PFUNC.SALARIO,

PFUNC.CODSITUACAO,

PFUNC.CODSECAO,

PSECAO.DESCRICAO,

PFFINANC.CODEVENTO,

PEVENTO.DESCRICAO,

PFFINANC.REF,

SUM((CASE WHEN PFFINANC.MESCOMP = 01 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JANEIRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 02 THEN PFFINANC.VALOR ELSE 0 END )) AS 'FEVEREIRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 03 THEN PFFINANC.VALOR ELSE 0 END )) AS 'MARÇO',

SUM((CASE WHEN PFFINANC.MESCOMP = 04 THEN PFFINANC.VALOR ELSE 0 END )) AS 'ABRIL',

SUM((CASE WHEN PFFINANC.MESCOMP = 05 THEN PFFINANC.VALOR ELSE 0 END )) AS 'MAIO',

SUM((CASE WHEN PFFINANC.MESCOMP = 06 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JUNHO',

SUM((CASE WHEN PFFINANC.MESCOMP = 07 THEN PFFINANC.VALOR ELSE 0 END )) AS 'JULHO',

SUM((CASE WHEN PFFINANC.MESCOMP = 08 THEN PFFINANC.VALOR ELSE 0 END )) AS 'AGOSTO',

SUM((CASE WHEN PFFINANC.MESCOMP = 09 THEN PFFINANC.VALOR ELSE 0 END )) AS 'SETEMBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 10 THEN PFFINANC.VALOR ELSE 0 END )) AS 'OUTUBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 11 THEN PFFINANC.VALOR ELSE 0 END )) AS 'NOVEMBRO',

SUM((CASE WHEN PFFINANC.MESCOMP = 12 THEN PFFINANC.VALOR ELSE 0 END )) AS 'DEZEMBRO'

FROM

PFFINANC

LEFT OUTER JOIN PFUNC ON (PFFINANC.CODCOLIGADA = PFUNC.CODCOLIGADA AND PFFINANC.CHAPA = PFUNC.CHAPA)

JOIN PSECAO ON (PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND PFUNC.CODSECAO=PSECAO.CODIGO)

LEFT OUTER JOIN PEVENTO ON PFFINANC.CODEVENTO = PEVENTO.CODIGO AND PFFINANC.CODCOLIGADA = PEVENTO.CODCOLIGADA

WHERE

PFFINANC.CODCOLIGADA = :PLN_$A$3_N AND

PFFINANC.ANOCOMP = :PLN_$A$4_N AND

PFFINANC.NROPERIODO = :PLN_$A$6_N

GROUP BY

PEVENTO.PROVDESCBASE,

PFFINANC.CODCOLIGADA,

PFFINANC.CHAPA,

PFUNC.NOME,

PFUNC.SALARIO,

PFUNC.CODSITUACAO,

PFUNC.CODSECAO,

PSECAO.DESCRICAO,

PFFINANC.CHAPA,

PFFINANC.CODEVENTO,

PEVENTO.DESCRICAO,

PFFINANC.REF

ORDER BY

PEVENTO.PROVDESCBASE DESC,

PFFINANC.CODCOLIGADA,

PFUNC.NOME

Alberto,

Boa Noite,

Obrigado pela ajuda, testei e pegou todos os eventos de jan a Dez, se possivel como ficaria para trazer apenas 01 (um) evento para verificação.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Insira na cláusula WHERE essa linha:

PFFINANC.CODEVENTO = :PLN_$A$7_N

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Insira na cláusula WHERE essa linha:

PFFINANC.CODEVENTO = :PLN_$A$7_N

Alberto,

Boa tarde,

Efetuei a alteração e retornou o erro em anexo.

post-1476-1267627945_thumb.jpg

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  900
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.845
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.599
  • Conteúdo Resolvido:  0
  • Dias Ganho:  195
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Na celular A7 tem que estar o evento em questão, está la´??

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Na celular A7 tem que estar o evento em questão, está la´??

Boa Tarde Jair,

Está sim, e retorna este erro.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Ou falta um "AND" entre os limitadores (CLAUSULA WHERE), ou falta uma vírgula entre a seleção dos campos (SELECT [campo1] , [campo2] FROM ....)

A mensagem é erro de sintaxe.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  68
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  997
  • Conteúdo/Dia:  0.15
  • Reputação:   4
  • Pontos/Conquistas:  5.604
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  51

Luiz, como dito pelo nosso colega Alberto Libório, falto o and na sua consulta, dá uma olhada:

atual

PFFINANC.NROPERIODO = :PLN_$A$6_N

PFFINANC.CODEVENTO = :PLN_$A$7_N

alterada

PFFINANC.NROPERIODO = :PLN_$A$6_N AND

PFFINANC.CODEVENTO = :PLN_$A$7_N

Editado por Jefferson Bruzati
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Luiz, como dito pelo nosso colega Alberto Libório, falto o and na sua consulta, dá uma olhada:

atual

PFFINANC.NROPERIODO = :PLN_$A$6_N

PFFINANC.CODEVENTO = :PLN_$A$7_N

alterada

PFFINANC.NROPERIODO = :PLN_$A$6_N AND

PFFINANC.CODEVENTO = :PLN_$A$7_N

Jefferson/Alberto

Obrigado, foi isso mesmo faltou o AND, funcionou sem erro, mas estou verificando que os funcionários estão saindo mais de uma vez, Janeiro com valor em uma linha e fevereiro com valor na seguinte.

Pasta1.pdf

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  68
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  997
  • Conteúdo/Dia:  0.15
  • Reputação:   4
  • Pontos/Conquistas:  5.604
  • Conteúdo Resolvido:  0
  • Dias Ganho:  5
  • Status:  Offline
  • Idade:  51

Luiz, vou ver se consigo postar o meu modelo de planilha que desenvolvi para um Cliente ainda hj pra vc testar, assim fica com opções que melhor lhe convenha.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  21
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  76
  • Conteúdo/Dia:  0.01
  • Reputação:   1
  • Pontos/Conquistas:  596
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  61

Luiz, vou ver se consigo postar o meu modelo de planilha que desenvolvi para um Cliente ainda hj pra vc testar, assim fica com opções que melhor lhe convenha.

Jefferson,

Obrigado, estou tentando terminar uma trabalho de levantamento de 2009, onde de jan/09 a maio/09 foi lançado pela ficha financeira e jun/09 a dez/09 calculado, e não tive tempo de verificar e checar alguns eventos, em jan/10 rodei um calculo por dissidio e foi uma dor de cabeça para acertar tudo, e nesta folha trabalho direto com formulas, toda a folha é baseada em tabela salarial montada por valores fixos e formulas trazendo e montando os valores de acordo com cada função.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  38
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  438
  • Conteúdo/Dia:  0.08
  • Reputação:   12
  • Pontos/Conquistas:  2.592
  • Conteúdo Resolvido:  0
  • Dias Ganho:  9
  • Status:  Offline
  • Idade:  47
  • Dispositivo:  Windows

Tente retirar "PFFINANC.REF", tando do select quanto da cláusula group by.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  64
  • Tópicos/Dia:  0.01
  • Meu Conteúdo:  733
  • Conteúdo/Dia:  0.11
  • Reputação:   8
  • Pontos/Conquistas:  4.310
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  56

Faça isso que o Leo falou que dará certo.

Outra maneira, é retirar o "PFFINANC.REF" do group by e colocar sum(PFFINANC.REF) na select.

O que vai acontecer é que nessa solução, será apresentado 41 (11+30)

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.