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

aggiornamento dati

BUONGIORNO

Chiedo informazioni su come fare ad aggiornare una archivio senza importare nuovamento tutto esempio

se ho caricato alle 9:00 del 05/01/2015 e faccio l'aggiornamento alle 10:: del 05/01/2015 dovrebbe importarmi sono i movimenti fatti tra le 9 e le 10

grazie a tutti

6 Replies
Anonymous
Not applicable
Author

Ciao.

Puoi usare l'incremental load per estrarre solo gli ultimi dati aggiornati.

Lo puoi fare a patto che sul DB ci sia un campo che permetta di riconoscere i nuovi dati (per esempio una data come Date_Insert)

Un esempio:

Let vLoadTime = Num(Now( ));

Tabella:

Load

Campo_Chiave,

Campo_1,

...

Campo_n

Sql Select from DB_source

WHERE Date_Insert >= $(vUltimoLoadTime)  

AND Date_Insert < $(vLoadTime);     //forse basterebbe mettere: where Date_Insert > ReloadTime() che è una funzione che ritorna la data e ora di ultimo reload.

Concatenate(Tabella)

Load

Campo_Chiave,

Campo_1,

...

Campo_n

from Dati.qvd

Where not exists(Campo_Chiave)

store Tabella into Dati.qvd;

Let vUltimoLoadTime = vLoadTime;

Bisogna stare attenti che Date_Insert abbia lo stesso formato delle variabili/funzioni (come now(), ReloadTime())

Elena

maxgro
MVP
MVP

ci sono degli esempi nell'help online, cerca incremental

ed anche qui Incremental Load

di solito i problemi nascono nella formattazione/interpretazione delle date che leggi dal db (come suggerito da Elena); nel caso, indica il tuo db e posta un estratto significativo dello script che usi

Not applicable
Author

ciao massimo

come faccio a mandarti lo script in privato

Not applicable
Author

Ciao Massimo

Come faccio a postare lo script in privato ?

maxgro
MVP
MVP

Posta lo script sul forum, ed io o qualcun altro proverà a rispoderti immagino; lo scopo del forum è condividere ed ampliare quel che si conosce.

Not applicable
Author

SET ThousandSep='.';
SET DecimalSep=',';
SET MoneyThousandSep='.';
SET MoneyDecimalSep=',';
SET MoneyFormat='€ #.##0,00;-€ #.##0,00';
SET TimeFormat='hh.mm.ss';
SET DateFormat='DD/MM/YYYY';
SET TimestampFormat='DD/MM/YYYY hh.mm.ss[.fff]';
SET MonthNames='gen;feb;mar;apr;mag;giu;lug;ago;set;ott;nov;dic';
SET DayNames='lun;mar;mer;gio;ven;sab;dom';

Odbc connect  to as400;

Tab1:
LOAD
*,

A§ARTI as CampoDiJoin;                            
SQL SELECT*

FROM X64021EA.DATI.BRARTI0F;

Tab2:
LOAD
*,

  R§CDOG as CampoDiJoin,                       

Year(Date#(T§DTDO, 'YYYYMMDD')) as ANNO,
Month(Date#(T§DTDO, 'YYYYMMDD')) as MESE,
Day(Date#(T§DTDO, 'YYYYMMDD')) as GIORNO
Where (T§DTDO >= '20080601');

SQL SELECT*
FROM X64021EA.DATI.V5RDOC0J;

Tab3:
LOAD
*,
L§COD1 as CampoDiJoin;

SQL SELECT*
FROM X64021EA.DATI.C£LIST0F;



      
LET AnnoCorrente  = year(today());
LET AnnoCorrMeno1 = year(today())-1;
LET AnnoCorrMeno2 = year(today())-2;
LET AnnoCorrMeno3 = year(today())-3;
LET AnnoCorrMeno4 = year(today())-4;
LET AnnoCorrMeno5 = year(today())-5;
LET AnnoCorrMeno6 = year(today())-6;