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

how to get last update time while loading


Hi Friends

I am loading a text file from D drive.

Can I get the last update time of the text file on drive.

Thanks

1 Solution

Accepted Solutions
maxgro
MVP
MVP

filetime

Returns a timestamp for the date and time of the last modification of the file filename. If no filename is specified, the function will refer to the currently read table file.

Examples:

filetime( 'xyz.xls' )

Will return the timestamp of the last modification of the file xyz.xls.

Load *, filetime() as X from abc.txt ;

Will return the date and time of the last modification of the file (abc.txt) as a timestamp in field X in each record read.

View solution in original post

8 Replies
aveeeeeee7en
Specialist III
Specialist III

Use Text Box Expression:

'Last reload on - ' & reloadtime()

Regards

Av7eN

jyothish8807
Master II
Master II

Hi Pavan

Try this:

='[ Updated at ' & timestamp(reloadtime(), 'hh:mm on MMM DD, YYYY') &' ]'

Regards

KC

Best Regards,
KC
maxgro
MVP
MVP

filetime

Returns a timestamp for the date and time of the last modification of the file filename. If no filename is specified, the function will refer to the currently read table file.

Examples:

filetime( 'xyz.xls' )

Will return the timestamp of the last modification of the file xyz.xls.

Load *, filetime() as X from abc.txt ;

Will return the date and time of the last modification of the file (abc.txt) as a timestamp in field X in each record read.

Not applicable
Author

Thanks Friends

Now I have a file with column of last update of text files.

Now I want to reload only those files which are update in this month.

And if possible display message of file names which are not updated.

Thanks

maxgro
MVP
MVP

DIRECTORY;

FOR Each File in filelist ('.\*.qvd')

  LOAD

  '$(File)' as FileName,

  FileTime( '$(File)' ) as FileTime,

  if(FileTime( '$(File)' ) >= MonthStart(Today()), 1, 0) as FlagRead

  autogenerate 1;

  let ft=peek('FlagRead');

  let fn=peek('FileName');

  trace ft=$(ft);

  if ($(ft)=1) then

  trace ***** read $(fn);

  ELSE

  trace ***** dont read $(fn);

  ENDIF;

NEXT File

Not applicable
Author

Hi Grossi,

Please explain this part of script how the logic works

trace ft=$(ft);   

  •   if ($(ft)=1) then
  •   trace ***** read $(fn); 
  •   ELSE
  •   trace ***** dont read $(fn); 
  •   ENDIF; 
maxgro
MVP
MVP

I used trace just to explain the logic; trace print a message in the logfile

You have to replace the line with trace in bold with a read from the file 

// ft variable (FlagRead in table ) is 1 when the time of the file is in today month

if ($(ft)=1) then

     // replace this with read from file (load ....)

     trace ***** read $(fn);

ELSE

     // print an information in the logfile

     trace ***** dont read $(fn);

ENDIF;

Not applicable
Author

Hi Grossei thanks But need more help. I have written the code

DirectoriesToScan:
LOAD * INLINE [
Dirspec
D:\scalability_test\9_30\9_30
]
;
SUB doDir (dir)
  FOR EACH file in filelist('$(dir)' &  '\*.txt')
 
  Files:
  LOAD
  '$(file)' as FilePath,
FileSize('$(file)') as FileSize,
FileTime('$(file)') as FileTime,
  if(FileTime( '$(file)' ) >= MonthStart(Today()), 1, 0) as FlagRead,
subfield('$(file)', '.', -1) as FileExtension,
subfield('$(file)', '\', -1) as FileName,
subfield (subfield('$(file)', '\', -1),'.' ,1) as Naam
  AUTOGENERATE 1
  ;
  NEXT
  FOR EACH subdir in dirlist( '$(dir)' & '\*' )
  CALL doDir('$(subdir)')
  NEXT
END SUB


SUB doRoot (root)
  FOR EACH subdir in dirlist( '$(root)' )
   CALL doDir('$(subdir)')
  NEXT
END SUB

FOR i = 0 to FieldValueCount('Dirspec')
  Call doRoot(FieldValue('Dirspec',$(i)));
NEXT i
let ft=peek('FlagRead');
let fn=peek('FileName');
  if ($(ft)=1) then
  OGIS:
  Load * from ;
Next File

The problem is again its loading only one file from Germany folder.

I have two files in Germany and another two in Mexico folder.

I want to load all the the files at a go. With the current code I am able to get only one file into qlikview.

Thanks for your time