Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Incremental load


Hi i am trying incremental load.

Its working fine in case of insert & delete. but when the status of a callno is updated there will be multiple rows in database so two status will be highlted in QV. is there any possiblity to overcome this. i need the latest updated status of a call. please help me.

temp:

LOAD

Callno,
Call_date,
Name,
status,
lastmodified

FROM

[..\Documents\calldetails.xlsx]
(
ooxml, embedded labels, table is Sheet1) where date(lastmodified , 'dd/mm/yy hh:mm:ss TT')>'4/5/2013 12:10:44 PM';

Concatenate

LOAD

Callno,
Call_date,
Name,
status,
lastmodified

FROM

test.qvd (qvd) where not Exists (Callno);

inner join


LOAD

Callno

FROM

[..\Documents\calldetails.xlsx] (ooxml , embedded labels , table is Sheet1);

store temp into test.qvd;

Labels (1)
1 Reply
swuehl
Champion III
Champion III

Maybe read your temp table in, then sort by lastmodified desc and add a ... where not exists() to read in only latest Callno records:

temp:

LOAD

Callno as CallnoTmp,

Call_date,

Name,

status,

lmodified

FROM

[calldetails.xlsx]

(ooxml, embedded labels, table is Sheet1) where date(lmodified , 'dd/mm/yy hh:mm:ss TT')> '04/05/2013 12:10:44 PM';

temp2:

NOCONCATENATE LOAD

  CallnoTmp as Callno,

  Call_date,

  Name,

  status,

  lmodified

  where not exists (Callno, CallnoTmp);

LOAD * Resident temp order by lmodified desc;

drop table temp;

// then following your concatenation

If you are reading from another source like a DB, you can sort the data by your DB and just add the preceding load to your DB load statement.

In addition, I think you need to use a DISTINCT LOAD with your last inner join:

LOAD DISTINCT

Callno

FROM

[..\Documents\calldetails.xlsx] (ooxml , embedded labels , table is Sheet1);

store temp into test.qvd;