An example file to accompany the blog post http://qlikviewcookbook.com/2017/09/qv12-alt-state-variable-fix/ This example provides a script pattern for loading fields from multiple files, when the field names vary between files. The same field name may use a different spelling between files. There may also be extra fields in some files that should not be in the final data table. This example accompanies the blog post “QDG Guru Day Inspiration“. The example demonstrates using color encoding in a scatter chart to display two inter related dimensional series. ************************************************** This example demonstrates using IntervalMatch to count the number of days in a transaction. The transaction days could be calculated in the script by computing EndDate-StartDate, but using IntervalMatch allows for flexible counting of subtotals across various date dimensions such as Month or Quarter. The example data is for a rental company that rents out equipment. The input data is: Assigning dates to temporal groups such as “Yesterday”. This example demonstrates assigning dates to named range groups, such as “Today” or “This Month”. Note that a Date may belong to more than one group. For example, today’s date belongs to “Today”, “This Week”, “This Month”, “Last Two Months” etc. V2 update adds group named “Next Workday”. This example provides a template script for building a delta (incremental) load script. A delta load fetches only new or changed rows from the database. This template can handle all three common database update scenarios — Insert, Update and Delete. This example demonstrates using the Previous() function and WHILE clause to “fill in” values in a date range. In this exercise, a transaction file provides Products, Prices, and the date the Price is effective. The goal is to determine the Product Price for any given date. This example lists information about disk files using the FileList() and DirList() script functions in conjunction with the FOR EACH statement. A pattern and subroutine is defined to process multiple directories. Load and Merge data from an input file that contains multiple record types. The test file has a phone number id record followed by some call detail records for that phone number and a total charges row. We want to associate the phone number with the detail rows. LOAD Users and Groups from Active Directory using AdsDSO. This version uses no Macros. See the script source for details and setup for your AD domain. This receipe demonstrates how to read numbers that have non-standard number signing formats, for example a trailing “-” to indicate negative numbers or a keyword like “DEBIT”. 102- Both should be interpreted as negative numbers. -102
This example provides a script pattern for loading fields from multiple files, when the field names vary between files. The same field name may use a different spelling between files. There may also be extra fields in some files that should not be in the final data table. Mapping values using a table with wildcards. Sometimes you want to use QV mapping to group values. The QV MAPPING LOAD / MAP USING / APPLYMAP is excellent for this. However, sometimes you have many different values to map and a comprehensive map is not available. This sample presents a technique where wildcard characters may be used in the mapping table to simplify the map definition. This is a generalized script to created a QVD file from Windows Performance Monitor csv file(s). The script will discover and create a QVD field for every Perfmon Counter found in the csv files. Dimension Fields for DateTime, Group and Instance will be created as well. Qlikview script contains many powerful and useful string functions. But sometimes you want the power of Regular Expression (RegExp) pattern matching. QV does not yet provide a native Regular Expression function. This sample uses a very simple macro that uses VBScript to provide a RegExp pattern matching function in QV script. Extracting content from HTML using a module script function. The function “ExtractInnerHtml” used in the script is written in the document module using the VBScript Regular Expression object. To view or modify the function definition, open the Module Editor (Ctrl-m). This example demonstrates assigning times to named range groups, such as “Midnight Shift” or “Early Evening”. This facilitates making selections by meaningful names, for example selecting events that occurred during a manufacturing shift. Note that a Time may belong to more than one group and intervals may overlap. Some systems produce display numbers using a trailing minus sign. Qlikview expects a leading minus sign to indicate negative numbers. This expression is one way to read numbers with trailing minus signs. It will work with both leading and trailing minus signs. This tutorial presents a script pattern for assigning time dimensions to multiple fact dates in a data model. The pattern will demonstrate how to link all fact dates to a common calendar as well as using separate calendars for each fact date. Examples of useful charts and filters to investigate your data model during development or debugging. Shows how to use the $Table and $Fields system fields to access the fields in your data model. Charts can be copied as-is into any app and should work with your data without any changes requires. Both QlikView and Qlik Sense examples are provided. This utility provides two functions for QlikView QVWs: This is useful for making mass changes to a set of QVWs. Updates for V1.1 ************************************************** This tool is used to analyze the structure of a qvw. The analysis focuses on what fields are used and where. This information can be to used to tune the performance of a Document or investigate the impact of data changes. This download is packaged as a zip file that includes Document Analyzer, DA Compare Tool and DABatch script. Changes for version 3.10 Changes for version 3.9 Changes for version 3.8 Changes for version 3.7 QVPR Analysis is a tool that will load a Qlikview XML Repository (QVPR) and allow you to analyze the contents. With this app you can do Qlikview Analysis of the Reload and Distribution tasks defined on your server. V2.1 adds QVD Creation Tasks. V2 Update adds Icon Graph visualization of task flow by Ralf Becher. This is a QVW used to edit external Qlikview script files — *.qvs & *.txt files — using the qlikview script editor. It’s useful in that it uses the actual script editor so you get all the features you expect – syntax, tabs, dropdowns, etc. Script Log Analyzer will analyze a set of Qlikview and/or Qlik Sense script logs. It’s value is in visualizing the execution duration of each script statement in a reload. Interface is available in English, Portuguese, German and Spanish. The v1.7 update fixes an issue where the last operation in a failed script was not accounted for. The Qlik Sense version was written by Clever Anjos. This tool builds a searchable repository of QlikView scripts. Ver 1.9 Update: Added optional “Search Words” file to search for a list of words during reload. Ver 1.8 Update: Added a “Version 12 Upgrade Check” sheet to highlight potential QV12 script compatibility issues. Each QVW file in the Input directory tree is opened and the script and module texts are extracted and written to the output directory. The QVWs are opened with /nodata, so the process runs quickly. You must respond to any macro or section access login prompts. After Reload, the extracted script can be searched using the “Script Search” sheet. You must grant System Access to this QVW. Follow the instructions on the “Main” sheet to get started. After searching for “customer” This example demonstrates using the Conditional Show property to show additional Charts and Text Objects after selecting to a single item. Revision 2 of this recipe demonstrates showing additional charts after clicking in a bar chart. There may be unusual cases where you want to the user to make multiple selections before calculating charts(s). This example demonstrates how you can collect proposed selections in an alternate state and defer applying those selections to charts until the user presses “Apply”. This example demonstrates various techniques to emphasize selected data while still keeping all data in view. More information can be found in the blog post “Focus not Filter” . This example demonstrates a technique for improving the performance of a large document when a chart needs to choose one of several expressions based on user selected options. Complete explanation can be found in this post “How to Choose an Expression“. This example accompanies the blog post “QDG Guru Day Inspiration“. The example demonstrates using color encoding in a scatter chart to display two inter related dimensional series. This recipe provides examples of using a Pivot Table to display data in a grid. The second dimension is dragged to the horizontal creating a cross table. The Pivot Table provides more options than a Grid chart for representation. This example shows how the Aggr() function can be used to narrow or widen selections from a Calculated Dimension. More on this topic can be found in the blog post “Scoping Selections with Aggr“. Annotations are comments or labels placed in a chart to provide additional meaning or interpretation of chart data. Text is placed on a data point or connected visually to the point. This tutorial will demonstrate techniques for annotating data points in Qlikview Charts. The Qlikview document Alert feature can be used to send text emails with KPIs like “daily numbers” after document reload. This example shows how to configure an alert and craft an alert text message. Alerts may not be used to email graphical charts or attachments. Only text may be sent.Featured
Blog Example (38)
AltState Variables
 AltState Variables
Version 1, Sep 4, 2017 - QlikViewLoading Varying Column Names
 Loading Varying Column Names - Qlik Sense
Version 1, Dec 10, 2018  Loading Varying Column Names - QlikView
Version 1, Dec 10, 2018Multivariate Analysis Example
 Multivariate Analysis Example
Version 1, Feb 21, 2018 - Qlik SenseQlik Sense (4)
QS Document Analyzer
 QS Document Analyzer
Version 1, Sep 22, 2021 -
The QVF edition of Document Analyzer has been deprecated and replaced by QSDA Pro. You can download QSDA Pro from here.
**************************************************Scripting (30)
Count Days In A Transaction Using Intervalmatch
 Count Days In A Transaction Using Intervalmatch - Qlik Sense
Version 1, Dec 5, 2013  Count Days In A Transaction Using Intervalmatch - QlikView
Version 1, Dec 5, 2013
EquipmentId, DateOut, DateInDate Grouping
 Date Grouping - Qlik Sense
Version 3, Dec 5, 2013  Date Grouping - QlikView
Version 2, Dec 5, 2013Delta Load Template
 Delta Load Template
Version 1, Apr 20, 2015 - QlikViewExpand A Pricing Date Table
 Expand A Pricing Date Table - Qlik Sense
Version 1, Dec 5, 2013  Expand A Pricing Date Table - QlikView
Version 1, Dec 5, 2013List Files
 List Files - Qlik Sense
Version 1, Dec 5, 2013  List Files - QlikView
Version 1, Dec 5, 2013Load Input File Containing Multiple Record Types
 Load Input File Containing Multiple Record Types - Qlik Sense
Version 1, Dec 5, 2013  Load Input File Containing Multiple Record Types - QlikView
Version 1, Dec 5, 2013Load Users and Groups from Active Directory
 Load Users and Groups from Active Directory - Qlik Sense
Version 1, Dec 5, 2013  Load Users and Groups from Active Directory - QlikView
Version 1, Dec 5, 2013Loading Non Standard Numeric Signs
 Loading Non Standard Numeric Signs - QlikView
Version 1, Dec 6, 2019  Loading Non Standard Numeric Signs - Qlik Sense
Version 1, Dec 6, 2019
400 DEBIT
-400Loading Varying Column Names
 Loading Varying Column Names - Qlik Sense
Version 1, Dec 10, 2018  Loading Varying Column Names - QlikView
Version 1, Dec 10, 2018Mapping With Wildcards
 Mapping With Wildcards - Qlik Sense
Version 2, Oct 30, 2018  Mapping With Wildcards - QlikView
Version 2, Oct 30, 2018Perfmon QVD
 Perfmon QVD
Version 1, Feb 5, 2014 - QlikViewRegular Expression Pattern Matching
 Regular Expression Pattern Matching
Version 1, Dec 5, 2013 - QlikViewStrip HTML From Text
 Strip HTML From Text
Version 2, Oct 29, 2015 - QlikViewTime Grouping
 Time Grouping - Qlik Sense
Version 1, Aug 13, 2023  Time Grouping - QlikView
Version 1, Aug 13, 2023Trailing Minus
 Trailing Minus
Version 1, Dec 5, 2013 - QlikViewTutorial - Using Common Date Dimensions
 Tutorial - Using Common Date Dimensions - Qlik Sense
Version 1, Dec 5, 2013  Tutorial - Using Common Date Dimensions - QlikView
Version 1, Dec 5, 2013Tools (16)
Dev Data Browser
 Dev Data Browser - Qlik Sense
Version 3, Mar 9, 2020  Dev Data Browser - QlikView
Version 3, Mar 9, 2020Prj Tool
 Prj Tool
Version 1.1, Oct 31, 2017 - QlikView
– Added check for proper macro security.
– Added DeletePrj function.QS Document Analyzer
 QS Document Analyzer
Version 1, Sep 22, 2021 -
The QVF edition of Document Analyzer has been deprecated and replaced by QSDA Pro. You can download QSDA Pro from here.
**************************************************QV Document Analyzer
 QV Document Analyzer
Version 3.10, May 6, 2020 - QlikView
QVPR Analysis
 QVPR Analysis
Version 2.1, Apr 18, 2015 - QlikViewQVS Editor
 QVS Editor
Version 1.2, Feb 5, 2015 - QlikViewScript Log Analyzer
 Script Log Analyzer - Qlik Sense
Version 1.7, Dec 12, 2019  Script Log Analyzer - QlikView
Version 1.7, Dec 12, 2019Script Repository
 Script Repository
Version 1.9, Jul 18, 2016 - QlikViewVisualization (28)
Conditional Show of Details
 Conditional Show of Details
Version 2, Nov 15, 2015 - QlikViewDefer Selections Until Apply
 Defer Selections Until Apply
Version 1, Dec 4, 2015 - QlikViewFocus not Filter
 Focus not Filter
Version 1, Feb 3, 2015 - QlikViewHow to Choose an Expression
 How to Choose an Expression
Version 1, Dec 19, 2014 - QlikViewMultivariate Analysis Example
 Multivariate Analysis Example
Version 1, Feb 21, 2018 - Qlik SensePivot Table Grids
 Pivot Table Grids
Version 1, Nov 9, 2015 - QlikViewScoping Selections
 Scoping Selections
Version 1, Jan 25, 2016 - QlikViewTutorial - Annotating Chart Data Points
 Tutorial - Annotating Chart Data Points
Version 2, Feb 17, 2014 - QlikViewUsing Alerts To Send Numbers Via Email
 Using Alerts To Send Numbers Via Email
Version 1, Jan 8, 2014 - QlikView