Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I want to load my text files incrementally.
Files like File18082016.txt,File19082016.txt,File20082016.txt,..
Delete script is not working.
Please correct the script.
Let ThisExecTime = Now( );
QV_Table:
LOAD *,FileName() as FileName,
FileTime() as FileTime
FROM
[..\Source Files\File*.txt]
(txt, codepage is 1252, embedded labels, delimiter is '\t', msq)
WHERE FileTime() >= '$(LastExecTime)'
AND FileTime() < '$(ThisExecTime)';
Concatenate
LOAD *
FROM
[QV_Table.qvd]
(qvd)
WHERE NOT EXISTS(FileName);
//Inner Join
//LOAD FileTime() as FileTime
//FROM
//[..\Source Files\File*.txt]
//(txt, codepage is 1252, embedded labels, delimiter is '\t', msq);
If ScriptErrorCount = 0 then
STORE QV_Table INTO QV_Table.qvd(qvd);
Let LastExecTime =ThisExecTime;
End If
EXIT Script;
Perhaps these works:
Let ThisExecTime = num(Now());
QV_Table:
LOAD *,FileName() as FileName,
FileTime() as FileTime
FROM
[..\Source Files\File*.txt]
(txt, codepage is 1252, embedded labels, delimiter is '\t', msq)
WHERE num(FileTime()) >= $(LastExecTime)
AND num(FileTime()) < $(ThisExecTime);
Hi Gysbert,
How this will work =$(LastExecTime)? As we didn't have declare the variable?
You declare it at the end of the script. That's when it gets a value. That variable will still exist and have that value the next time you execute the script.
Hi Gysbert,
Seems this is not working.
Please test with the attached files.
Let ThisExecTime = num(Now( ));
QV_Table:
LOAD *,FileName() as FileName,
FileTime() as FileTime
FROM
[..\Source Files\File*.txt]
(txt, codepage is 1252, embedded labels, delimiter is '\t', msq)
WHERE num(FileTime()) >= '$(LastExecTime)'
AND num(FileTime()) < '$(ThisExecTime)';
Let LastExecTime =num(ThisExecTime);
Remove the single quotes in the where clause.
I have done but still the data is not loading. Please help me full script.
Let ThisExecTime = num(Now());
QV_Table:
LOAD
*,
FileName() as FileName,
FileTime() as FileTime
FROM
[File*.txt]
(txt, codepage is 1252, embedded labels, delimiter is '\t', msq)
WHERE
num(FileTime()) >= $(LastExecTime)
AND num(FileTime()) < $(ThisExecTime)
;
Let LastExecTime = num(ThisExecTime);