Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Sr.(as)
Boa tarde!
Alguém pode me orientar a melhor forma de resolver a necessidade abaixo.
Tenho os seguintes campos:
Numero Contrato,
Data Venda Contrato,
Data Pedido Cancelamento,
Data Desistência do Cancelamento,
Data Cancelamento Contrato,
Etc.
Preciso armazenar uma foto mensal destes dados
Pensei em duas formas de resolver
1º Opção
Criar uma variavel com o Mês/Ano e utilizar a mesma para compor o nome do QVD. Desta forma quando virar o mês, um novo qvd será criado.
Só que as informações será duplicadas. Exemplo 50.000 linhas no qvd Janeiro 50.000 linhas no qvd de fevereiro e assim por diante.
2º Opção
Criar uma chave com todos os campos mais uma data de carga, desta forma é possivel criar uma validação e a linha sera gravada se houver alteração de algum campo.
Assim será duplicado somente os registros que sofreram alterações.
OBS.: A Data Venda Contrato, Data Pedido Cancelamento e Data Cancelamento compõe meu calendário.
Quando selecionar um mês do meu calendário, quero saber quantos contratos foram vendidos, quantos foram cancelados, quantos desistiram do cancelamento e assim por diante.
Alguém pode me mostrar qual caminho seguir?
Obrigado!
Mercadante
Bom dia Antonio Mercadante.
Bom, explicando o exemplo que montei.
O primeiro load que faço é Responsável por gerar a foto mensal. Existe a variável Mês_Base que irá gerar Qvds conforme o mês que seja feita a carga.
Após isto, com um diretório contendo todos os meses carregados, eu leio estas informações novamente (Aba Agrupamento) e agrupo todas as informações apenas pelo número do contrato.
As demais datas eu pego apenas a mais atual, ou seja, mesmo que mude, ele irá verificar esta alteração e irá mudar a data.
Obs: estou contando com o fato de não existir data retroativa, ex: se hoje foi add a data "09/02/2015" e amanhã ela mudou para "01/02/2015", ele irá pegar a maior data.
Bom, espero ter ajudado!
Abraço!
Entendi,
Mas não resolveria meu caso. Estou partindo para a foto diária.
Criei uma chave com os campos que podem sofrer alterações, e comparo diariamente. se houve alteração na data ele grava, se não descarta. Acredito que desta forma meu QVD não vai duplicar a cada mês, pois hoje já carrego 55.000 linhas.
Ainda não esta muito claro como vou trabalhar com o calendário. Pois na mesma tabela fato tenho quatro campos de data que compõem meu calendário.
Bom Antonio, pensei que tinha visto no título do post que era uma foto mensal. Mas agora percebi que a sua necessidade é obter a foto diária.
Bom, mesmo sendo assim, creio que todas as mudanças ocorridas seguem uma ordem cronológica. Sendo assim, você pode utilizar esta lógica para pegar os dados únicos e atualizados.
Caso não tenha entendido bem a sua necessidade, por favor nos passe mais informações sobre ela
Srs. Boa tarde!
Consegui resolver em partes meu problema.
Criei uma primeira carga concatenando todos os campos da minha tabela.
Agora eu faço um
[base]
Load
chave
.
.
residente
[arquivo];
concatenate (base)
load
chave
*
*
where
not exists ('chave', <campos>);
select
......
Desta forma ele incrementa somente se houve alteração na linha.
Porem me deparei com outro problema e não estou vendo saída.
Um dos campos que compoem a chave é o DIA_VENCIMENTO
peguei um cliente que o dia vencimento era 5 alterei para 10 e minha carga gravou as duas linhas.
Quando eu volto ele para o dia 5 ele não grava mais, pois já tenho esta linha na minha tabela.
Alguém tem ideia de como posso resolver isso?
Sr.(as) Bom dia!
Consegui resolver criando duas cargas. Uma traz somente os contratos novos e a segunda os que tiveram alteração de horario