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: 
abc_18
Creator II
Creator II

qvd monitor application

Hi Team,

I am trying to create a qvd monitor application, and have taken the reference from GIT hub library.

I am using this piece of code as suggested by  @Qlik-Peterman 

QvdTableHeader:
LOAD FilePath(FileName()) as Name, *;
LOAD QvBuildNo,
    CreateUtcTime,
    SourceFileSize,
    FileName()     as QVDFileName,
    '$(FolderName)'  as QVDFolder,
    TableName,
    RecordByteSize,
    NoOfRecords,
    Offset,
    Length
FROM '$(File)'(XmlSimple, Table is [QvdTableHeader]);
          
  
//=========== qvd source of meta ---xml header ========
LOAD FilePath(FileName()) as Name, *;
QvdFieldHeader:
LOAD FieldName,
    BitOffset,
    BitWidth,
    Bias,
    NoOfSymbols,
    Offset as HeaderOffset,
    Length as HeaderLength,
    [NumberFormat/Type] as Type,
    [NumberFormat/nDec] as nDec,
    [NumberFormat/UseThou] as UseThou,
    [NumberFormat/Fmt] as Fmt,
    [NumberFormat/Dec] as Dec
FROM '$(File)'(XmlSimple, Table is [QvdTableHeader/Fields/QvdFieldHeader]);
 
// ------------------------------------
// Get the number of columns manually
// ------------------------------------
LOAD
Name,
count(distinct FieldName ) as NoColumns
resident QvdFieldHeader
   group by Name;
Next File
 
End sub
 
// ---------------------------------------------------------
// Now call the control loop above with the folder variable
// ---------------------------------------------------------
FOR i = 0 to NoOfRows('QVDFolders')-1
LET FolderName = peek('QVDPath', i, 'QVDFolders');
Call DoDir('$(FolderName)')
NEXT 
 
let main_end=now();
 
QVDMetaHeader:
LOAD 
Name & '_' & '$(MetaTime)'    as %QVDKey,
Name      as QVDName,
Date('$(MetaTime)', 'YYYY-MM-DD hh:mm:ss')  as QVDMetaTime,
QVDFileName  as QVDFileName,
QVDFolder  as QVDFolder,
TableName      as QVDTableName,
NoOfRecords      as QVDNumRecs,
RecordByteSize    as QVDRecLen
Resident QvdTableHeader;
 
IF Exists(QvdFieldHeader-1) THEN
Set vTable = '[QvdFieldHeader-1]';
 ELSE
  Set vTable = '[QvdFieldHeader-4]';
END IF
 outer join
                LOAD DISTINCT 
                     Name as QVDName ,
                     NoColumns  as QVDNumCols
               // Resident [QvdFieldHeader-4];
                Resident $(vTable); 
 
However this last resident load is giving me an error, [QvdFieldHeader-4] table is not found.
 
Can someone please suggest where it's going wrong?
 
Regards
 
              
Labels (1)
0 Replies