Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi Experts,
please find the my attached source files.
I have source1 folder Three Qvds names like
2016_01_01.qvd
2016_01_02.qvd
2016_01_03.qvd
qvd creation time is 11:10:10 AM
and
source2 folder Three Qvds names like
2016_01_01.qvd
2016_01_04.qvd
2016_01_05.qvd
Qvd creation time is 11:15:15 AM
then i have loaded all qvd's into qlikview .Check here 2016_01_01.qvd name having 2 qvd's ..
coming to my requirement
i need latest with same name 2016_01_01.qvd from source2
Output: i want 2016_01_01.qvd from source2 because this is the latest qvd based on timestamp.
Couple of changes
FOR Each source1 in FileList('H:\Personal\TOP5\source1\QVDS\*.qvd')
source1:
load FileName('$(source1)') as filename,
'$(source1)' as filename1,
FileTime('$(source1)') as FileTime1 AutoGenerate 1;
next source1
FOR Each source2 in FileList('H:\Personal\TOP5\source2\QVDS\*.qvd')
source2:
load FileName('$(source2)') as filename,
'$(source2)' as filename2,
FileTime('$(source2)') as FileTime2 AutoGenerate 1;
next source2
Also can you show me, what are the Values you are getting in filename1 and filename2 fields
Hi Kushal,
I have made the changes Now also i am getting same problem like first screen shot.
Regards,
Mahesh.
Hi Experts,
can any one give solution for my requirement
Regards,
Mahesh
Hello mahesh,
please upload your qvw.
what is the error?
Hi Kushal,
I am using your script only with modifications,
FOR Each source1 in FileList('H:\Personal\TOP5\source1\QVDS\*.qvd')
source1:
load FileName('$(source1)') as filename,
'$(source1)' as filename1,
FileTime('$(source1)') as FileTime1 AutoGenerate 1;
next source1
FOR Each source2 in FileList('H:\Personal\TOP5\source2\QVDS\*.qvd')
source2:
load FileName('$(source2)') as filename,
'$(source2)' as filename2,
FileTime('$(source2)') as FileTime2 AutoGenerate 1;
next source2
New:
noconcatenate
LOAD *
Resident source1;
join(New)
LOAD *
Resident source2;
Drop Tables source1, source2;
Final:
noconcatenate
LOAD
(if(FileTime2 > FileTime1 or isnull(FileTime1),FileTime2,
if(FileTime1 > FileTime2 or isnull(FileTime2),FileTime1)))as filename,
Rangemax(FileTime2,FileTime1) as FileTime
Resident New;
drop table New;
AllQVD:
LOAD 1 as Junk
Autogenerate 1;
For i=1 to FieldValueCount('filename')
let vFileName = FieldValue('filename',$(i));
Concatenate(AllQVD)
LOAD*,
'$(vFileName)' as filename
FROM $(vFileName)(Qvd);
Next i
drop field Junk;
Store AllQVD into FinalQVD.qvd;
change this if statement. You are taking filetime instead of filename.
(if(FileTime2 > FileTime1 or isnull(FileTime1),filenam1,
if(FileTime1 > FileTime2 or isnull(FileTime2),filename2)))as filename,
(if(FileTime2 > FileTime1 or isnull(FileTime1),filenam2,
if(FileTime1 > FileTime2 or isnull(FileTime2),filename1)))as filename,
update: Corrected if
Hi Kushal,
Now Showing this error,