Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Ordinamento tabelle e aggiunta campi

Salve a tutti,

il problema che ho trovato questa volta riguarda l'ordinamento della tabella ORDINI_FASI_CONS_NEW e l'aggiunta di un campo calcolato.

Nell'esecuzione dello script che vi allego quì sotto, non vengono trovate le tabelle ORDINI_FASI_CONS_NEW_NEW e ORDINI_FASI_CONS_DEF.

Secondo il mio parere dev'essere il drop table che fa danni ma non ho idea di come potrei sistemare la situazione.

Obiettivo: ordinare la tabella ORDINI_FASI_CONS_NEW (o ORDINI_FASI_CONS visto che sono collegate)  per CODICE_ORDINE e NUMERO_FASE e, successivamente, aggiungere il campo calcolato SCARTI.

Vi ringrazio in anticipo.

5 Replies
maxgro
MVP
MVP

probabilmente non viene trovata la NEW_NEW perchè in questo punto quel che carichi viene appeso alla preesistente NEW: quando Qlik carica una tabella con la stessa struttura di una tabella già in memoria la appende all'esistente (concatena automaticamente, simile ad una union all sql)

x evitare questo automatismo prima del LOAD metti un NOCONCATENATE

ORDINI_FASI_CONS_NEW_NEW:
LOAD *   
resident ORDINI_FASI_CONS
ORDER BY CODICE_ORDINE, NUMERO_FASE;

Not applicable
Author

Sembra che il NOCONCATENATE faccia danni perché non termina mai l'esecuzione dello script

maxgro
MVP
MVP

probabile che ora arrivi al termine dello script  ma manchi un drop di qualche tabella in fondo

prova in debug


Not applicable
Author

Niente, ho provato in debug e mi da lo stesso errore più l'errore del drop.

Allego quì sotto lo script così puoi accertarti che ci siano tutti i drop table necessari (forse troppi??)

maxgro
MVP
MVP

// questo pezzo serve? i 2 campi calcolati mi pare possano essere calcolati al punto precedente

// spostando il  codice

//ORDINI_FASI_CONS_NEW:
//
load * ,
//.......

//'NULLA'))))))) AS SUAA,
//
if((IF(STATO_ULTIMO_AVANZAMENTO='F','F',
//.......

//'NULLA'))))))))='F','FATTO','DA FARE') as SITUAZ_ODL
//
resident ORDINI_FASI_CONS;


// questo va commentato, se la vuoi usare al passo successivo

//drop table ORDINI_FASI_CONS;    
    
ORDINI_FASI_CONS_NEW_NEW:

// qui serve una noconcatenate, altrimenti concatena automaticamente e

// non crea la ...CONS_NEW_NEW ma la mette in ORDINI_FASI_CONS 

noconcatenate
LOAD
*   
resident ORDINI_FASI_CONS
ORDER BY CODICE_ORDINE, NUMERO_FASE;

drop table ORDINI_FASI_CONS;


// aggiungi questo exit script e vedi come va, se ok toglilo e vai sino alla fine

exit script;

ORDINI_FASI_CONS_DEF:
load *,
if(CODICE_ORDINE=peek(CODICE_ORDINE) and NUMERO_FASE>PEEK(NUMERO_FASE) ,QUANTITA_BUONA-PEEK(QUANTITA_BUONA),0) as SCARTI
resident ORDINI_FASI_CONS_NEW_NEW;
drop table ORDINI_FASI_CONS_NEW_NEW;

nel caso vi fossero ancora problemi, meglio avere i qvd per provare direttamente, se possibile