- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vencimento de contrato
Bom dia, pessoal!
Estou trabalhando com dados de estagiários da empresa que trabalho e preciso contabilizar em KPIs a quantidade de contratos que irão vencer dentro de 20, 60 e 90 dias. Minha dificuldade é que cada estagiário pode ter até 4 renovações de contrato ou seja, 4 datas de vencimento de contrato. Preciso pegar a última data de vencimento e verificar se está para vencer dentro dos prazos informados. Poderiam me ajudar? Obrigado!
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
É sempre um prazer dar um help aqui. Foi assim que aprendi boa parte do que sei e ainda aprendo.
Vamos lá, vou usar teu script mesmo pra te propor a alteração:
Estagiarios:
Load
*,
If(Max_Vencimento < (Today()+21), 'Vence em 20 dias',
If(Max_Vencimento > (Today()+20) and Max_Vencimento < (Today()+61),
'Vence em 60 dias', 'Vence em 90 dias'
)
) As 'Vence em x Dias';
LOAD idPessoal,
if(Status='ATIVO',Nome) as [Nome Ativo],
if(Status='INATIVO',Nome) as [Nome Inativo],
Lotacao,
if(Status='ATIVO',Matricula) as [Matricula Ativo],
if(Status='INATIVO',Matricula) as [Matricula Inativo],
Cargo,
Especialidade,
Supervisor_Estagiario,
InstituicaoEnsino,
Semestre,
DataDesligCargo,
Month(DataDesligCargo) as [Mês Desligamento],
YearName(DataDesligCargo) as [Ano desligamento],
TurnoEstagio,
Status,
formaDesligmento,
QtdContratos,
DataInicioContrato1,
DataTerminoContrato1,
DataInicioContrato2,
DataTerminoContrato2,
DataInicioContrato3,
DataTerminoContrato3,
DataInicioContrato4,
DataTerminoContrato4,
Date(RangeMax(DataTerminoContrato1,DataTerminoContrato2,DataTerminoContrato3,DataTerminoContrato4)) as Max_Vencimento
FROM
[..\Dados\estagiarios.qvd]
(qvd);
Dá uma testada e verifica se te ajuda de alguma forma.
Abs e Sucesso!!
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bom dia @Jônatas,
O que você pode fazer é no próprio script criar um campo de Max_Vencimento, por exemplo.
Sua_Tabela:
Load
*,
If(Max_Vencimento < (Today()+21), 'Vence em 20 dias',
If(Max_Vencimento > (Today()+20) and Max_Vencimento < (Today()+61),
'Vence em 60 dias', 'Vence em 90 dias'
)
) As 'Vence em x Dias';
Load
Seus_Campos,
Date(RangeMax(Vencimento1,Vencimento2,Vencimento3,Vencimento4)) as Max_Vencimento
From Sua_BaseCarga;
Veja se te ajuda em algo.
Abs e Sucesso!!
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ah, você pode fazer via tela usando RangeMax(), If() e Today() conforme usei no script, mas no script fica mais fácil (eu acho hehe).
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thiago, primeiramente meu muito obrigado pela ajuda!
Sou iniciante no QlikView, não entendi muito bem como montar a sua solução.
Meu script está da seguinte forma:
Estagiarios:
LOAD idPessoal,
if(Status='ATIVO',Nome) as [Nome Ativo],
if(Status='INATIVO',Nome) as [Nome Inativo],
Lotacao,
if(Status='ATIVO',Matricula) as [Matricula Ativo],
if(Status='INATIVO',Matricula) as [Matricula Inativo],
Cargo,
Especialidade,
Supervisor_Estagiario,
InstituicaoEnsino,
Semestre,
DataDesligCargo,
Month(DataDesligCargo) as [Mês Desligamento],
YearName(DataDesligCargo) as [Ano desligamento],
TurnoEstagio,
Status,
formaDesligmento,
QtdContratos,
DataInicioContrato1,
DataTerminoContrato1,
DataInicioContrato2,
DataTerminoContrato2,
DataInicioContrato3,
DataTerminoContrato3,
DataInicioContrato4,
DataTerminoContrato4,
FROM
[..\Dados\estagiarios.qvd]
(qvd);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
É sempre um prazer dar um help aqui. Foi assim que aprendi boa parte do que sei e ainda aprendo.
Vamos lá, vou usar teu script mesmo pra te propor a alteração:
Estagiarios:
Load
*,
If(Max_Vencimento < (Today()+21), 'Vence em 20 dias',
If(Max_Vencimento > (Today()+20) and Max_Vencimento < (Today()+61),
'Vence em 60 dias', 'Vence em 90 dias'
)
) As 'Vence em x Dias';
LOAD idPessoal,
if(Status='ATIVO',Nome) as [Nome Ativo],
if(Status='INATIVO',Nome) as [Nome Inativo],
Lotacao,
if(Status='ATIVO',Matricula) as [Matricula Ativo],
if(Status='INATIVO',Matricula) as [Matricula Inativo],
Cargo,
Especialidade,
Supervisor_Estagiario,
InstituicaoEnsino,
Semestre,
DataDesligCargo,
Month(DataDesligCargo) as [Mês Desligamento],
YearName(DataDesligCargo) as [Ano desligamento],
TurnoEstagio,
Status,
formaDesligmento,
QtdContratos,
DataInicioContrato1,
DataTerminoContrato1,
DataInicioContrato2,
DataTerminoContrato2,
DataInicioContrato3,
DataTerminoContrato3,
DataInicioContrato4,
DataTerminoContrato4,
Date(RangeMax(DataTerminoContrato1,DataTerminoContrato2,DataTerminoContrato3,DataTerminoContrato4)) as Max_Vencimento
FROM
[..\Dados\estagiarios.qvd]
(qvd);
Dá uma testada e verifica se te ajuda de alguma forma.
Abs e Sucesso!!
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@Thiago_Justen_ , já implementei a sua solução e funcionou perfeitamente!
Muito obrigado pela grande ajuda!!
Sucesso!!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Imagina @Jônatas, precisando é só chamar. E não se acanhe em mandar mensagem no WhatsApp caso tenha urgência e eu não veja por aqui.
Abs e Sucesso!!
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago