Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia,
Tenho uma tabela que apresenta 2 campos, SAP_FILIAL e SAP_MATRIZ. De vez em quando acontece de uma filial ter 2 matrizes, o que duplica sua base. Para evitar isso, queria criar um flag que deixa 1 para todas as filiais e, qdo duplicado, a segunda linha fique 0.
Exemplo:
SAP_FILIAL | SAP_MATRIZ | Flag
1 1 1
2 1 1
3 2 1
3 1 0
4 1 1
5 1 1
5 2 0
6 ....
É possivel? Como nao importa muito quem ficará como matriz, o importante é nao ter duplicados na SAP_FILIAL.
obs: Processo na carga.
André
Amigo, segue exemplo;
Tab_Temp:
Load *
Inline [
SAP_FILIAL,SAP_MATRIZ
1,1
2,1
3,2
3,1
4,1
5,1
5,2
];
Tab_Matriz:
Load
SAP_FILIAL,
SAP_MATRIZ,
If( SAP_FILIAL = Previous(SAP_FILIAL), 0, 1) As 'Flag'
Resident Tab_Temp Order By SAP_FILIAL Asc;
Drop Table Tab_Temp;
Amigo, segue exemplo;
Tab_Temp:
Load *
Inline [
SAP_FILIAL,SAP_MATRIZ
1,1
2,1
3,2
3,1
4,1
5,1
5,2
];
Tab_Matriz:
Load
SAP_FILIAL,
SAP_MATRIZ,
If( SAP_FILIAL = Previous(SAP_FILIAL), 0, 1) As 'Flag'
Resident Tab_Temp Order By SAP_FILIAL Asc;
Drop Table Tab_Temp;
Bom dia André,
Segue um exemplo de como pode ser feito.
Att,
Felipe.
Você pode também usar assim
LOAD
SAP_FILIAL,
SAP_MATRIZ,
If(Autonumber(SAP_FILIAL,SAP_MATRIZ)=1,1,0) as FLAG
From SEUQVD(qvd);
Mario, funcionou beleza !! Obrigado aos demais também!! André