Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde, preciso de uma opinião para eu fazer da melhor maneira possível:
Estou trabalhando em um projeto de RH, a estrutura dele é uma tabela de funcionários (codigo, empresa, filial) e outras tabelas de historico de movimentação como historicos_salario, historico_filial, historico_cargo.
Todas estas tabelas de historico tem o campo chave ligando ao funcionário (codigo, empresa, filial), campo data (data da movimentação do histórico) e outros campos úteis dentro de cada tabela que tem nomes diferentes.
Preciso calcular a hora extra por exemplo mas para isto tenho que fazer uma série de verificações (IF) em pelo menos 4 tabelas diferentes. Fiz no Set Analysis e funcionou, porém IF dependendo da seleção o QV se perde, pensei em fazer tudo isso no Script porém não estou conseguindo juntar estas tabelas.
Tentei no SQL, carregando primeiro a tabela de funcionário e dando Left Join, porém dessa maneira os campos Datas ficam todos separados (data_salario, data_filial _data(...)), desconheço alguma forma de juntar todos eles.
Hamilton, boa tarde.
Sobre esta base eu fiz da seguinte maneira.
Criei uma tabela Funcionario
Uma Tabela Calendario
Tabela de Folha
e uma tabela de Movimento
que conforme voce pode ver, na Folha tenho os valores de cada evento lancado na folha. Assim, se for calcular absenteismo,hora extra, basta saber quais os eventos (em relacao a parte) para somar ou mostrar em %.
A tabela Movimento eu coloquei o que acontece no mes. Neste caso sao as tabelas historicos e mais algumas outras....Assim, Se o usuario selecionar o Ano e Mes, eu sei por cada funcionario, o salario nominal, o local de trabalho, o CC, se estava de ferias, a idade dele naquele ano mes, o tempo de trabalho na empresa tudo naquele ano e mes. Para mim ficou mais facil assim. Ate para fazer o calculo de ativos no mes, eu uso esta tabela, visto que tenho um campo folha_qtde que se tiver 1 ele teve folha naquele mes e o demissao_qtde que se tiver 1, ele foi demitido naquele mes. Estes campos eu uso para fazer o calculo de turnover.
AMF
Pode disponibilizar uma base teste?
e me explicar melhor o que quer fazer?
Vou fazer uma em excel mesmo ok?
beleza
Hamilton, boa tarde.
Sobre esta base eu fiz da seguinte maneira.
Criei uma tabela Funcionario
Uma Tabela Calendario
Tabela de Folha
e uma tabela de Movimento
que conforme voce pode ver, na Folha tenho os valores de cada evento lancado na folha. Assim, se for calcular absenteismo,hora extra, basta saber quais os eventos (em relacao a parte) para somar ou mostrar em %.
A tabela Movimento eu coloquei o que acontece no mes. Neste caso sao as tabelas historicos e mais algumas outras....Assim, Se o usuario selecionar o Ano e Mes, eu sei por cada funcionario, o salario nominal, o local de trabalho, o CC, se estava de ferias, a idade dele naquele ano mes, o tempo de trabalho na empresa tudo naquele ano e mes. Para mim ficou mais facil assim. Ate para fazer o calculo de ativos no mes, eu uso esta tabela, visto que tenho um campo folha_qtde que se tiver 1 ele teve folha naquele mes e o demissao_qtde que se tiver 1, ele foi demitido naquele mes. Estes campos eu uso para fazer o calculo de turnover.
AMF
Hamilton, claro que tem outras tabelas, mas basicamente são para descrição/nome, cursos/educacao, atendimentos médicos,CAT,...
Alessandro, muito obrigado pela sua ajuda,
eu entendi essa estrutura na primeira vez que você falou e concordo que é a melhor maneira, porém estou com dificuldades em juntar as tabelas históricos como você fez..
Tentei usando Join direto no SQL, Join e Concatanate no QV mas ainda não esta legal. Não estou conseguindo realizar os cálculos pelo Script.
Eu preciso em um dos cálculos fazer um IF validando a Empresa, Cidade e o campo USU_ACOHOR
e fazer a seguinte conta: ((SALARIO_BASE*1.55)/220)*(USU_ACOHOR/60)
porém no script não esta dando pois os valores dos campos deste cálculo não estão na mesma linha
e se fizer direto no gráfico funciona, mas se perde quando eu seleciono mais de um funcionário.
Encontrei um dos erros que eu estava cometendo.. Eu nao estava prestando atenção na estrutura das tabelas, datas e tudo mais. você acha que seria interessante criar uma tabela calendário no Banco de Dados?
Eu tenho uma tabela assim em outro sistema e é muito útil, o que me diz?
Hamilton,
eu criei a tabela mas eu somente trabalho com mes e ano, sem os dias. Mesmo que eu tenho o dia que foi feito a mudança de CC ou de Cargo, eu mostro estas mudanças por ano e mês. A data em si, eu deixo se for o caso como informativo.