Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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