The Report Generator bridges QlikView Personal Edition (Desktop) 12.0, which can be downloaded here: http://www.qlik.com/products, and Microsoft Word to facilitate the automatic copy/pasting of charts and objects into tagged locations in the Word document while making specified selections in the QlikView engine. The intent is that a user creates a Word template and a QlikView chart repository in order to run small batches of custom reports on a Windows machine.
Why Would I Use This?
The main benefits of this project compared to QlikView's built in reporting and Qlik NPrinting is threefold; it's free, it's open source, and it works with QlikView Personal Edition. This project was developed for the specific needs of our organization (which is why it outputs a Word document), and we encourage other developers to add features to fit their own needs. For instance, our organization has developed a "Report Generator Server" project which allows us to automatically email reports on a schedule or when a request is sent to the server. By no means are we attempting to compete with Qlik's existing methods of report generation. We are simply trying to build a flexible, developer-friendly project for the Qlik Community.
To simply run the application, open the ReportGeneratorSetup/Debug folder in the main project and download and run the ReportGeneratorSetup.msi (Windows Installer Package) file. This will create a program called "Report Generator (Active)". Download the entire project if you wish to contribute features and ideas. Don't hesistate to contact us directly!
We also have a quick tutorial video on YouTube here: https://youtu.be/WYofPNv9V_0
Understanding the Tags
Tags are placed in the Word template so the Report Generator knows where to paste QlikView objects.
Follow the format
The above tag will insert the chart from the QlikView document with the Object ID of CH01 at this location. You can find the Chart ID by right clicking an object, clicking Properties and finding the Chart ID field. If the Properties option is not available, you can see a full list of all charts and their IDs on a sheet by going to the Settings ribbon in the main toolbar, selecting Sheet Properties, and going to the Objects tab.
Follow the format
These tags copy and paste whatever is between them for each possible value of FieldName. Hidden formatting symbols such as page breaks and new paragraphs will also be copied and pasted.
The above tag will paste the chart with Object ID of CH01 for each possible value of State.
Follow the format
These tags force specific selections into the tags.
The above tag will insert the chart with Object ID of CH01 after selecting FieldValue in the FieldName field.
The above tag will insert the chart with Object ID of CH01 for each possible value of State after making the selection United States in the Country field.
You can also use the selection tag by itself in the "Static Selections" text box in the application interface in order to make a universal selection for all chart objects in the Word template.
Quick Reference Tags
Follow the format
Refer to the section below to learn how to use these tags.
Image Attribute Tags
Attribute tags can be added to certain chart tags in order to customize a chart image as it is inserted into Word. Chart tags have attribute tags added in the following manner:
The above example sets the height to 2 inches and the width to 3.55. Specifying a single dimension will maintain the image's aspect ratio. As of version 1.1.0, only the height and width attributes can be adjusted.
In pivot tables any column with the label as a single asterisk will be deleted.
Using the Application
Reference interface.png to see what the application looks like when run.
Set Document Paths
Browse for the Word Template (.doc and .docx) and QlikView Document (.qvf) using their respective "Browse" buttons.
Quick Reference Variables
If you happen to have a text object in QlikView that you reference very often add the QuickRefText (without the <>'s or !) and the Chart ID to the list. This will speed up the report generating and only works with Text Box objects in QlikView.
Use a static selection tag as mentioned above to apply a universal selection to all QlikView objects as they are copied into the Word Template.
As the program runs, this list box is populated with the output telling the user what objects were copied successfully and where there may be errors in your Tag structure.
If an error causes the program to break, your Word document will hang in limbo and prevent you from running any other actions against it. Open the Task Manager and end this process manually to continue.
To contribute, you must install the QlikView and Microsoft Word references to your Visual Studio project. Refer to the Built With section for information on how this program was built and tested.
We find it helpful to turn on the hidden characters in Word (Crtl + Shift + 8)
This document is included when you download QlikView 12.0. The example QlikView document is located at the following path, C:\Program Files\QlikView\Examples\Documents\Prescription Tracker.qvw
Target these two files with the Report Generator and click Generate to watch it run.
If you wish to simply use the program, download and run the setup utility in the Setup.zip file.
Microsoft Visual Studios 2015 Community - Windows Forms
Built and Tested on Windows 8.1 OS
Microsoft Word 15.0 Object Library Version 8.6
QlikView 12.0 Type Library Version 12.0
Compatibility and Testing
This project was built and tested with the following software versions:
QlikView 11.20, 12.0
MS Word 2013, 2016
Windows 8.1 Pro, 10 Pro (64-bit)
Feel free to contact email@example.com if you are interested in contributing to this project.
We use semantic versioning. Reference tags and description for version number.
Priority Thinking Team
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.