Book Image

QlikView for Developers Cookbook

By : Stephen Redmond
Book Image

QlikView for Developers Cookbook

By: Stephen Redmond

Overview of this book

QlikView has been around since 1993, but has only really taken off in recent years as a leader in the in-memory BI space and, more recently, in the data discovery area. QlikView features the ability to consolidate relevant data from multiple sources into a single application, as well as an associative data model to allow you to explore the data to a way your brain works, state-of-the-art visualizations, dashboard, analysis and reports, and mobile data access. QlikView for Developers Cookbook builds on your initial training and experiences with QlikView to help you become a better developer. This book features plenty of hands-on examples of many challenging functions. Assuming a basic understanding of QlikView development, this book provides a range of step-by-step exercises to teach you different subjects to help build your QlikView developer expertise. From advanced charting and layout to set analysis; from advanced aggregations through to scripting, performance, and security, this book will cover all the areas that you need to know about. The recipes in this book will give you a lot of the information that you need to become an excellent QlikView developer.
Table of Contents (19 chapters)
QlikView for Developers Cookbook
Credits
Foreword
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Handling multiple subfolders in a script


Depending upon the setup that you have to deal with, not all of your source data files may be in one folder. For example, a company may keep transaction files in a separate folder for each year and then one subfolder for each month.

This recipe gives an example of how to use DirList and FileList to retrieve files matching a particular filespec.

Getting ready

Load the following script:

Sub GetFiles(vPath)

  // Get a list of files with Q extensions
  For each vFile in FileList('$(vPath)\*.Q*')
  
    Files:
    Load
      '$(vPath)' as Folder,
      '$(vFile)' as File,
      FileSize('$(vFile)') As FileSize,
      FileTime('$(vFile)') As FileTime
    AutoGenerate(1);
  
  Next

End Sub

Sub GetSubFolders(vPath)

  For each vDir in DirList('$(vPath)\*')
    Folders:
    Load 
      '$(vDir)' As Folder
    AutoGenerate(1);
    
    Call GetFiles('$(vDir)');
    // recurse to get sub folders
    Call GetSubFolders('$(vDir)');
    
  Next

End Sub

Call GetFiles...