Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
As accounts in the example below, there is a number missing, need to include the number and also the name
AUSENTE
exemplo de tabela
CONTATO | NÚMERO | TIPO |
10 | 450 | EMITIDO |
10 | 451 | EMITIDO |
10 | 453 | Cancelamento de cancelamento |
10 | 454 | EMITIDO |
85 | 181415 | EMITIDO |
85 | 181416 | EMITIDO |
85 | 181417 | Cancelamento de cancelamento |
85 | 181419 | Cancelamento de cancelamento |
85 | 181420 | EMITIDO |
75 | 1845231 | Cancelamento de cancelamento |
75 | 1845232 | EMITIDO |
75 | 1845234 | EMITIDO |
75 | 1845235 | EMITIDO |
75 | 1845237 | Cancelamento de cancelamento |
75 | 1845238 | EMITIDO |
Resultado desejado
CONTATO | NÚMERO | TIPO |
10 | 450 | EMITIDO |
10 | 451 | EMITIDO |
10 | 453 | Cancelamento de cancelamento |
10 | 452 | AUSENTE |
10 | 454 | EMITIDO |
85 | 181415 | EMITIDO |
85 | 181416 | EMITIDO |
85 | 181417 | Cancelamento de cancelamento |
85 | 181418 | AUSENTE |
85 | 181419 | Cancelamento de cancelamento |
85 | 181420 | EMITIDO |
75 | 1845231 | Cancelamento de cancelamento |
75 | 1845232 | EMITIDO |
75 | 1845233 | AUSENTE |
75 | 1845234 | EMITIDO |
75 | 1845235 | EMITIDO |
75 | 1845236 | AUSENTE |
75 | 1845237 | Cancelamento de cancelamento |
75 | 1845238 | EMITIDO |
Like below
tmp:
Load * inline [
CONTATO,NÚMERO,TIPO
10,450,EMITIDO
10,451,EMITIDO
10,453,Cancelamento de cancelamento
10,454,EMITIDO
85,181415,EMITIDO
85,181416,EMITIDO
85,181417,Cancelamento de cancelamento
85,181419,Cancelamento de cancelamento
85,181420,EMITIDO
75,1845231,Cancelamento de cancelamento
75,1845232,EMITIDO
75,1845234,EMITIDO
75,1845235,EMITIDO
75,1845237,Cancelamento de cancelamento
75,1845238,EMITIDO
];
Right Join(tmp)
Load
CONTATO
,startfrom+IterNo()-1 as NÚMERO
While startfrom + IterNo() - 1 -endto
;
Load
CONTATO
,min(NÚMERO) as startfrom
,max(NÚMERO) as endto
Resident tmp
Group by CONTATO;
NoConcatenate
Main:
Load
CONTATO,NÚMERO,if(isnull(TIPO),'AUSENTE',TIPO) as TIPO
Resident tmp
Order by CONTATO,NÚMERO;
Drop table tmp;
exit Script;
Like below
tmp:
Load * inline [
CONTATO,NÚMERO,TIPO
10,450,EMITIDO
10,451,EMITIDO
10,453,Cancelamento de cancelamento
10,454,EMITIDO
85,181415,EMITIDO
85,181416,EMITIDO
85,181417,Cancelamento de cancelamento
85,181419,Cancelamento de cancelamento
85,181420,EMITIDO
75,1845231,Cancelamento de cancelamento
75,1845232,EMITIDO
75,1845234,EMITIDO
75,1845235,EMITIDO
75,1845237,Cancelamento de cancelamento
75,1845238,EMITIDO
];
Right Join(tmp)
Load
CONTATO
,startfrom+IterNo()-1 as NÚMERO
While startfrom + IterNo() - 1 -endto
;
Load
CONTATO
,min(NÚMERO) as startfrom
,max(NÚMERO) as endto
Resident tmp
Group by CONTATO;
NoConcatenate
Main:
Load
CONTATO,NÚMERO,if(isnull(TIPO),'AUSENTE',TIPO) as TIPO
Resident tmp
Order by CONTATO,NÚMERO;
Drop table tmp;
exit Script;
you are the man. Fantastic😀