Tudo bem galera? Estou iniciando no mundo do Oracle e estou precisando 
desenvolver um script, tenho a seguinte situação:
Tenho uma tabela de veiculos com ID, Data_Compra, Segmento_Veiculo, PF_PJ

Preciso fazer o seguinte:

• Para cada ID distinto:
o Recebe as datas de compra de veiculos dessa pessoa
o Preciso criar um vetor, do tamanho da quantidade de veiculos dessa pessoa, 
para marcação de grupo
o Construir matriz de distâncias entre um veiculo (matriz NxN, onde N é a 
quantidade de caminhões; cada entrada M_ij da matriz é a distância entre um 
veiculo i e o j, em módulo)
o Cria vetor auxiliar para contar quantas entradas da linha da matriz são 
menores do que o limite estipulado, fazer isso para cada linha (a princípio 
usei limite de 3 meses, mas esse valor deve ser variável de acordo com a base 
de dados analisada)
o Selecionar o veiculo que possua o maior valor no vetor auxiliar (caminhão com 
mais caminhões ao redor dele)
o Marca no vetor de grupos o veiculo selecionado e todos os caminhões ao redor 
dele como pertencentes ao mesmo grupo
o “Exclui” esses veiculos marcados da matriz de distâncias
o Recalcular as entradas da matriz redimensionada (sem os veiculos com grupo 
definido)
o Repete os passos até que todos os veiculos estejam com grupo definido
o Calcula a distância em tempo entre os grupos (usar grupos ordenados em ordem 
cronológica)
 Usar a data do último caminhão do grupo (n) e a data do primeiro caminhão do 
grupo (n+1)
o Tira a média desses tempos
 Caso a pessoa só tenha um único grupo de compras, não há tempo médio a ser 
calculado
• Repete os passos para o próximo ID

Andei fuçando ja em vetores, etc.. mas estou com uma dificuldade para iniciar.

Desde já agradeço a ajuda

  • [oracle_br] [Oracle Iniciant... Carlos Serbino cserb...@ymail.com [oracle_br]

Responder a