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

Announcements
Qlik Open Lakehouse is Now Generally Available! Discover the key highlights and partner resources here.
cancel
Showing results for 
Search instead for 
Did you mean: 
kevbrown
Creator II
Creator II

Incremental Load - Append

I have the following script that loads in anything that starts with "Revenue" Every month I'll have a new Revenue file and I only want to load that file, what's the best way to write the script?

Let vQVDPath='\\gblonfc11\mc-glob\UK National Placement MI\Kev Brown\Reload Dashboard\2. Dashboard Reload\3. QVD Output\';
 
Revenue:
LOAD
FileName() AS File,
COVERAGE_EFFECTIVE_DT,
[Coverage Year],
[Coverage Month],
[Coverage Day],
[Revenue Year]

FROM
$(vQVDPath)Revenue*.qvd
(
qvd);

Thanks

1 Solution

Accepted Solutions
effinty2112
Master
Master

Hi Kevin,

Try:

QvdTableHeader:

LOAD

FileName( ) as FileName,

    CreateUtcTime

FROM $(vQVDPath)\*.qvd (XmlSimple, Table is [QvdTableHeader]);

[Latest File]:

LOAD

FirstSortedValue(FileName, -CreateUtcTime) as FileName

Resident QvdTableHeader;

Let vFileName = Peek('FileName',0,'Latest File');

Drop Tables QvdTableHeader,[Latest File];

Data:

LOAD *

FROM

[$(vQVDPath)\$(vFileName)]

(qvd);

This will load from the qvd with the latest CreateUtcTime.


Cheers


Andrew

View solution in original post

5 Replies
beck_bakytbek
Master
Master

Hi Kevin,

look at this: https://www.youtube.com/watch?v=BoEhqyy2xbM

i hope that helps

Beck

marcus_malinow
Partner - Specialist III
Partner - Specialist III

How about this?


for each file in FileList('$(vQVDPath)Revenue*.qvd')

FileList:
Load
'$(file)'
as file,
QvdCreateTime('$(file)') as cre
AUTOGENERATE 1;
next file

RIGHT KEEP (FileList)
LOAD
max(cre) as cre
RESIDENT FileList;

LET vLatestFileName = peek('file', -1);

DROP TABLE FileList;

Revenue:
LOAD
FileName() AS File,
COVERAGE_EFFECTIVE_DT,
[Coverage Year],
[Coverage Month],
[Coverage Day],
[Revenue Year]



FROM
[$(vLatestFileName)]
(
qvd);

effinty2112
Master
Master

Hi Kevin,

Try:

QvdTableHeader:

LOAD

FileName( ) as FileName,

    CreateUtcTime

FROM $(vQVDPath)\*.qvd (XmlSimple, Table is [QvdTableHeader]);

[Latest File]:

LOAD

FirstSortedValue(FileName, -CreateUtcTime) as FileName

Resident QvdTableHeader;

Let vFileName = Peek('FileName',0,'Latest File');

Drop Tables QvdTableHeader,[Latest File];

Data:

LOAD *

FROM

[$(vQVDPath)\$(vFileName)]

(qvd);

This will load from the qvd with the latest CreateUtcTime.


Cheers


Andrew

kevbrown
Creator II
Creator II
Author

That's great, thank you

effinty2112
Master
Master

Glad it works for you!