tag:blogger.com,1999:blog-55856804291575369142024-03-13T21:38:41.134+00:00QlikView AddictRamblings and musings of a long time QlikView and Business Discovery addictMatt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.comBlogger106125tag:blogger.com,1999:blog-5585680429157536914.post-5359664025515347382018-05-16T12:26:00.000+01:002018-05-16T12:26:15.387+01:00Working with Qlik script in VSCodeI'm a big fan of Microsoft's free code editor Visual Studio Code (VSCode). For some time now I've been using it for various non-Qlik projects including Arduino based ones. Recently I decided to make the leap to working with Qlik script files in VSCode rather than Notepad++ (NPP) which had been my go-to editor for many years.<br />
<br />
Although Notepad++ is a perfectly capable text and code editor, there has been a large increase in competition in recent years and NPP has gotten left a little behind. One very relevant example is NPP's syntax highlighting engine which only supports very basic highlighting whilst the majority of the competition have moved to RegEx based engines that can provide much more accurate highlighting.<br />
<br />
Having been using VSCode for several months now, I thought I'd share some of the extensions and tools I have begun to find very valuable when working with Qlik script files.<br />
<br />
<a name='more'></a><br />
<h3>
VScode Qlik Extension</h3>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin15nwE18yIx8yPZgav89MrtX-g9VjmWd6ZZcE03OV5XR8UAF7BjQkz5UwMKQ07njnuyeHapNfTJDu96VOAejv9ECfkk1k7BZ9UcjoYCbwQWESwD1DrE2X4ExTUPQ3X9-gtOhHAETTFkUK/s1600/2018-05-15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="796" data-original-width="1054" height="301" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin15nwE18yIx8yPZgav89MrtX-g9VjmWd6ZZcE03OV5XR8UAF7BjQkz5UwMKQ07njnuyeHapNfTJDu96VOAejv9ECfkk1k7BZ9UcjoYCbwQWESwD1DrE2X4ExTUPQ3X9-gtOhHAETTFkUK/s400/2018-05-15.png" width="400" /></a></div>
<br /></div>
<div>
The VSCode Qlik extension was originally created by Xavier Hahn and provides syntax highlighting support for Qlik script. I have recently been collaborating with Xavier to add some of the knowledge and tools I have from working on the various syntax highlighting tools I've created. Expect future updates to improve the highlighting further.</div>
<div>
<br /></div>
<div>
You can download and install the extension from the VSCode Marketplace.<br />
<br />
<br /></div>
<h3>
Icons</h3>
One of the big benefits of VSCode over NPP is the "Explorer" window that lets you browse a file system directly in the editor and load files from it. This can be a great time saver when working with a lots of Qlik Script files as well as being able to browse related files also. Having icons displayed next to the files can be a real help in quickly identifying them. There are 2 options to achieve this for Qlik files as follows.<br />
<br />
The VSCode Icons Theme has a Qlik logo built in and so will display a little Qlik Q-icon next to all QVW, QVD and QVS files. Simply download the theme from the VSCode market place and enable it.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLyMW2BUGgSoldqYjyBvlWxKwWB09rtd6dHdYM3hWB34aKRAQ7N1du1Sb0e8AjckrEDdQldeGtO1jhIgkypg3FWPBZi4srXloYj1A19E_VLoMYaiLRXoV8FcG_FtOV0jeZWpS4WParblb6/s1600/2018-05-15+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="96" data-original-width="351" height="108" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLyMW2BUGgSoldqYjyBvlWxKwWB09rtd6dHdYM3hWB34aKRAQ7N1du1Sb0e8AjckrEDdQldeGtO1jhIgkypg3FWPBZi4srXloYj1A19E_VLoMYaiLRXoV8FcG_FtOV0jeZWpS4WParblb6/s400/2018-05-15+%25281%2529.png" width="400" /></a></div>
<br />
Another option I've had a quick play with is the Material Icons Theme. This extension doesn't have a Qlik logo built in but there is a method to implement custom icons and so in theory you would be able to have different icons for each Qlik file type. When I find time to knock some icons together I'll give it a proper try and report back.<br />
<br />
<br />
<h3>
GitHub Support</h3>
VSCode has inbuilt source control features including support for Git. If like me you use GitHub a lot then having the ability to commit, push and pull changes to your repositories directly in the editor whilst you're working is a huge timesaver!<br />
<br />
Git support is available in VSCode with no need to install an extension.<br />
<br />
<br />
<h3>
ToDo Tree Extension</h3>
I've been using this extension for ages in my non-Qlik code projects and I couldn't believe I'd not considered how valuable it would be for Qlik script files also.<br />
<br />
Back when I was an apprentice software engineer working on embedded firmware, it was drilled into me by the senior guys that it was critical to put all my notes into the code itself as comments. We had a very simple system of beginning the comment with an appropriate keyword such as "TODO", "FIXME", "NOTE", "BUG" or "HACK". The many millions of lines of code could then be scraped for all appropriate comments and lists formed to help the development managers keep track of everything.<br />
<br />
ToDo Tree does exactly the same job and makes it simple to find and navigate to all your flagged comments across all files in a VSCode project. With a little tweaking it can be customised to work with Qlik script comments and include the additional keywords listed above. After installing the extension from the VSCode Marketplace, simply add the follow lines to your VSCode User Settings file:<br />
<pre><code>"todo-tree.regex": "(/\\*|//|REM|#|<!--|;)\\s*(TODO|FIXME|NOTE|BUG|HACK)",
"todo-tree.iconColours": { "TODO":"green", "HACK":"yellow", "BUG":"red", "FIXME":"red", "NOTE":"grey"},</code></pre>
You can then browse all the comments starting with one of the keywords such as:
<br />
<pre><code class="qvs">// FIXME: This works OK for now but should be improved</code></pre>
Clicking on any of the "ToDos" will open the file and take you to the relevant line. All Qlik script comment styles are supported ("//...", "/*...*/" and REM...).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2NAj_11URErOZC9-lukq-JR-RwUKB7SULrViX0grcAX9r4eRLVBeDfFxVsOrdIN56refv7kLGDyqiNxq2q_45Xn4weAVWl0sdq2kiPjGHwilBLNdnrR_5Mea8s80vJqxXauPoYSKqTJvX/s1600/2018-05-15+%25282%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="382" data-original-width="344" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2NAj_11URErOZC9-lukq-JR-RwUKB7SULrViX0grcAX9r4eRLVBeDfFxVsOrdIN56refv7kLGDyqiNxq2q_45Xn4weAVWl0sdq2kiPjGHwilBLNdnrR_5Mea8s80vJqxXauPoYSKqTJvX/s400/2018-05-15+%25282%2529.png" width="360" /></a></div>
<br />
<br />
<br />
If you've any other tricks of extensions you've found to be helpful, leave them in a comment below!Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com6tag:blogger.com,1999:blog-5585680429157536914.post-81820974418132911122018-05-14T14:09:00.000+01:002018-05-14T14:14:30.403+01:00Qlik for Notepad++ v2.6 ReleasedVersion 2.6 contains the following functionality improvements and bug fixes:<br />
<ul>
<li>Added the missing keyword DETAIL</li>
<li>Corrected issue that was preventing "GROUP BY" being correctly highlighted</li>
<li>Made normal brackets "( and )" a delimited pair to support auto bracket closing and prevent issue with opening brackets preventing function highlighting</li>
</ul>
This release contains the following known issues:<br />
<ul>
<li>The if() function is highlighted in bold. This is because Notepad++ can't differentiate between the if() function and the IF statement. No known solution is available for this issue.</li>
</ul>
It is recommended that this release be used with Notepad++ version 6.6.9 and later.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com3tag:blogger.com,1999:blog-5585680429157536914.post-86277644047251659502018-02-21T12:38:00.000+00:002018-02-21T12:38:12.064+00:00Qlik Sense WordPress Plugin v1.3.1A new release of the Qlik Sense WordPress Plugin is out. Version 1.3.1 brings the following tweaks and changes:<br />
<br />
<ul>
<li>Fixed a bug where clicking cancel on the shortcode insert popups still inserts the shortcode</li>
<li>Made the plugin clean up all its settings uninstalled</li>
<li>Made the plugin translation ready and included en_US and en_GB translations</li>
</ul>
<br />
If you'd like to help translate the plugin into other languages, please get in touch.<br />
<br />
If you have the plugin installed already, the update should become available in the WordPress admin control panel of your site. Full details of how to install and use can be found <a href="http://www.qlikviewaddict.com/p/qlik-sense-wordpress.html" target="_blank">here</a>.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-76791059286465316022018-02-14T09:31:00.000+00:002018-02-14T09:31:06.945+00:00Qlik for WordPress Plugin v2.0Qlik for WordPress v2.0 has just been released. This release provides the biggest improvements to date, bringing a large number of new features as well as the usual tweaks and bug fixes.<br />
<br />
If you've tried the plugin before and found it stopped other features and plugins from working, give it another try as hopefully this issue has now be resolved.<br />
<br />
<h2>
Plugin Settings Page</h2>
<div>
The plugin now has its own settings page where you can turn on or off the otional features.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSbWhs68DBiAtmAvkRpVDbaauQu1vBg-UL1PjyUHY2cThz1Jqued4Z0aZWtPSN8oXlScGI1VBKrlEvIql5uRxkfmf8Bo7k6Y5fIoeMlHMZ4KFZXKs4gR4aoNqICNH7CHhmdF5v7gS82o73/s1600/plugin+settings+page.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="687" data-original-width="1000" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSbWhs68DBiAtmAvkRpVDbaauQu1vBg-UL1PjyUHY2cThz1Jqued4Z0aZWtPSN8oXlScGI1VBKrlEvIql5uRxkfmf8Bo7k6Y5fIoeMlHMZ4KFZXKs4gR4aoNqICNH7CHhmdF5v7gS82o73/s400/plugin+settings+page.png" width="400" /></a></div>
<div>
<br />
<a name='more'></a></div>
<h2>
Copy to Clipboard Buttons</h2>
<div>
If enabled on the plugin settings page, every code block will now have an copy to clipboard button. Simply hover over the code block and the button will appear in the top right corner of it. Clicking the button will copy the entire code block to your clipboard to be pasted anywhere you choose.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4zUPVJUNlEQnlOWCgHPhJj948_-3GWTRcSxw6eohoZXhswoGGe4WDtRegEjSR3EcOBAZQ7hTWuOK9z_DusI6XFhcuQcBir7C7n_Azej_-IlgtgjIBC1t2gNwUk04bVVhVpEINq6HKtiZD/s1600/copy+code+button.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="86" data-original-width="523" height="65" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4zUPVJUNlEQnlOWCgHPhJj948_-3GWTRcSxw6eohoZXhswoGGe4WDtRegEjSR3EcOBAZQ7hTWuOK9z_DusI6XFhcuQcBir7C7n_Azej_-IlgtgjIBC1t2gNwUk04bVVhVpEINq6HKtiZD/s400/copy+code+button.png" width="400" /></a></div>
<div>
<br /></div>
<h2>
Code Block Line Numbers</h2>
<div>
You can now enable line numbers for all code blocks, enabling you to better describe and reference a block of code in your blog post. </div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLvDsjreIMerjvMgoNT_s9oVRIBJ-iMsATulwVg1mfDvLIFYHiw9A9H2ahSK8erdARj7m-YUy-twVMIRo6QrkjRg8CG6d6-KizbHj9s7NsrP4a9TVBUt93IAkqZPflJf1yrSb37Gn4zKeD/s1600/line+numbers.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="176" data-original-width="520" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLvDsjreIMerjvMgoNT_s9oVRIBJ-iMsATulwVg1mfDvLIFYHiw9A9H2ahSK8erdARj7m-YUy-twVMIRo6QrkjRg8CG6d6-KizbHj9s7NsrP4a9TVBUt93IAkqZPflJf1yrSb37Gn4zKeD/s400/line+numbers.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<b>Be aware of the warning shown in the plugin settings page</b>. Enabling line numbers and effect the correct syntax highlighting of statements that span more than one line such as /* */ block comments. Use with caution!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h2 style="clear: both; text-align: left;">
Qlik Sense Vector Icons</h2>
</div>
<div>
A huge new improvement is the ability to add Qlik Sense icons to your blog posts. The majority of these icons are lifted directly from the Qlik Sense Leonardo UI vector font and so are exactly as they appear in Sense. I've thrown a few extras in for good measure.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The potential of what they can be used for is open to you to explore, but they are great for helping to better explain how to do things in your blog posts. </div>
<div>
<br /></div>
<div>
To add an icon, simply head to the plugin settings page, find the icon you wish to use and copy the icon code (all of which start "qicon-"). Then whilst editing your page or post, click the Qlik Icon button on the WordPress text or visual editor editor and past the code into the popup that appears. Click OK and the new shortcode will be inserted. </div>
<div>
<br /></div>
<div>
Because they are a vector font, you can size and style them however you want, just like any other text in your post. I look forward to seeing neon pink Qlik icon spreading across the web.</div>
<div style="text-align: center;">
<i class="qicon-5x qicon-debug" style="color: deeppink;"></i>
</div>
<div>
<br /></div>
<div>
<br /></div>
<h2>
Other Tweaks and Fixes</h2>
<div>
As well as the above new feature, the following tweaks and fixes have also been made:<br />
<ul>
<li>Added Qlik Sense connection string support</li>
<li>Added the missing keywords DERIVE and FLUSHLOG</li>
<li>Added support for DIRECT QUERY statements</li>
<li>Fixed issue with REM comments not supporting whitespace before them</li>
<li>Fixed issue with clicking cancel on shortcode prompts results in shortcode still being entered</li>
<li>Fixed issue with variable declarations containing a full stop (AKA period) not highlighting correctly</li>
<li>Fixed issue with backslash incorrectly operating as an escape character in strings</li>
<li>Other minor highlighting improvements</li>
<li>Significant speed improvements</li>
<li>Changed [qlikview] shortcode to [qlik-code] to better represent Qlik Sense support. The old shortcode is still supported for backwards compatibility</li>
<li>Button "Qlik Code" added to text editor to insert shortcode</li>
<li>Visual editor button updated</li>
<li>Corrected issue with plugin clashing with some other shortcodes resulting in incorrect display. Some Google Maps plugins were amongst those affected. </li>
<li>Rewritten core code to prevent CSS and JS being loaded on all pages of a site irrespective of whether or not the shortcode is present</li>
<li>Ability to load CSS and JS files from the a CDN instead of the local webserver</li>
</ul>
</div>
<div>
If you installed the plugin from the WordPress Plugins Directory then you will be prompted to install the update next time you log in to your site's WordPress Admin portal. Alternatively, downloads and full instructions for installation and use can be found on the <a href="http://www.qlikviewaddict.com/p/qlikview-wordpress-plugin.html" target="_blank">QlikView for WordPress </a>page, or alternatively on the <a href="https://wordpress.org/plugins/qlikview-syntax-highlighter/" target="_blank">WordPress.org</a> website.</div>
Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-6443580127976429232018-02-14T09:05:00.000+00:002018-02-14T09:05:01.341+00:00Qlik Web Syntax Highlighter v2.0Qlik Web Syntax Highlighter v2.0 has just been released. This release provides the biggest improvements to date, bringing a large number of new features as well as the usual tweaks and bug fixes and follows:<br />
<br />
<ul>
<li>Added Qlik Sense connection string support</li>
<li>Added the missing keywords DERIVE and FLUSHLOG</li>
<li>Added support for DIRECT QUERY statements</li>
<li>Fixed issue with REM comments not supporting whitespace before them</li>
<li>Fixed issue with clicking cancel on shortcode prompts results in shortcode still being entered</li>
<li>Fixed issue with variable declarations containing a full stop (AKA period) not highlighting correctly</li>
<li>Fixed issue with backslash incorrectly operating as an escape character in strings</li>
<li>Other minor highlighting improvements</li>
<li>Significant speed improvements</li>
<li>Added custom vector font to allow insertion of some Qlik icons</li>
<li>Added the LUIicons vector font from LeonardoUI to allow insertion of all Qlik Sense UI icons</li>
<li>Added optional extra line numbers to code block (should be used with caution as can prevent correct highlighting of code than spans multiple lines eg. /* */ block comments)</li>
</ul>
<br />
<a name='more'></a><br />
<div>
The most notable new feature is the ability to add Qlik Sense icons to your web pages. The majority of these icons are lifted directly from the Qlik Sense Leonardo UI vector font and so are exactly as they appear in Sense. I've thrown a few extras in for good measure.</div>
<div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The potential of what they can be used for is open to you to explore, but they are great for helping to better explain how to do things in your blog posts and tutorials. </div>
<div>
<br /></div>
<div>
To add an icon, simply include the additional CSS file in your page header, then add the appropriate icon class to a suitable HTML tag such as:<br />
<br />
<span style="background-color: white; font-family: monospace; font-size: 11.7325px;"><span class="qicon-XXXX"></span></span></div>
<div>
<br /></div>
<div>
Because they are a vector font, you can size and style them however you want, just like any other text in your post. I look forward to seeing neon pink Qlik icon spreading across the web.</div>
<div style="text-align: center;">
<i class="qicon-5x qicon-debug" style="color: deeppink;"></i></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-60044003391485723412018-02-08T10:17:00.000+00:002018-02-08T10:17:08.285+00:00Qlik for Visual Studio Code v0.4.0After my recent post regarding text editors for working with QlikView and Qlik Sense script files, Visual Studio Code was top of the wish list. There was already a <a href="https://marketplace.visualstudio.com/items?itemName=Gimly81.qlik" target="_blank">Qlik VS Code extension</a> available in the VS Marketplace, that whilst not perfect was a great start. So I reached out to it's author Xavier Hanh with an offer to collaborate on improving the syntax highlighting it offers.<br />
<br />
I'm pleased to announce the first fruits of the collaboration, a new release of the Qlik for Visual Studio Code extension.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA5_zu5SjGvXvKg74O8bcKAl4Ik-240TSePHCSIhxNmP-lpJnnA_zycbrtDMds3e6wILlore4roIVO3xw36up_rYQsUtRfhzKO-_Q7Y6DOTQwHGi4a247rZHMtPefjumShAFHHxQyULXcl/s1600/Qlik-VSCode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="752" data-original-width="1009" height="297" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA5_zu5SjGvXvKg74O8bcKAl4Ik-240TSePHCSIhxNmP-lpJnnA_zycbrtDMds3e6wILlore4roIVO3xw36up_rYQsUtRfhzKO-_Q7Y6DOTQwHGi4a247rZHMtPefjumShAFHHxQyULXcl/s400/Qlik-VSCode.png" width="400" /></a></div>
<a name='more'></a><br />
Version 0.4.0 brings a large number of improvements since the last release include:<br />
<ul>
<li>All JOIN and KEEP statements added</li>
<li>LOAD DISTINCT added</li>
<li>INFO and BUNDLE INFO loads added</li>
<li>NOCONCATENATE added</li>
<li>Direct Query statement support added</li>
<li>Logic statements (sub routines, switch statements, for and do loops) improved</li>
<li>REM comments added</li>
<li>CALL statements added</li>
<li>END SCRIPT statements added</li>
<li>A large number of functions added</li>
</ul>
A significant number of functions are still not highlighted correctly. These will be addressed in the next release.<br />
<br />
If you already have the extension installed in VS Code, you should be prompted to upgrade when you next open it. If you don't, head to the VS Marketplace now to install.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com2tag:blogger.com,1999:blog-5585680429157536914.post-8351474680931102018-02-06T11:57:00.000+00:002018-02-06T11:57:20.948+00:00The Vanishing AddictI've received a number of similar questions lately regarding the absence of any new posts over the last year or more and my sudden return. So I thought I'd address them all out in the open. Here goes....<br />
<br />
<b>Am I still alive?</b> Yes, thankfully I am.<br />
<br />
<b>Have I given up Qlik?</b> Are you kidding? Until they develop an effective treatment I'll remain an addict.<br />
<a name='more'></a><b><br /></b>
<b>Why the hiatus?</b> Trying to juggle a young family and running a business just proved too much and something had to give. It wasn't intentional, there simply aren't enough hours in the day and QlikViewAddict.com just slipped through the cracks. It wasn't the only thing either. The odd hobby had to be scaled back also.<br />
<br />
<b>What have I been up to instead?</b> Where to begin? My company <a href="https://www.datoniq.com/" target="_blank">Datoniq</a> has grown considerably over the last few years. We're no longer a tiny UK Qlik consultancy, now operating across Europe working with some huge companies on some of the most exciting, cutting edge Qlik projects.<br />
<br />
<b>Am I going to start posting more regularly?</b> I can't make any promises but I'm going to try.<br />
<br />
<b>What's to come on QlikViewAddict.com in the future? </b>Well as you can see, I've already begun to release long overdue updates to the Qlik script syntax highlighters for Notepad++, UltraEdit, HTML and Wordpress. There's also a completely new MediaWiki extension is in the works also as well as a collaboration on a new extension for Visual Studio Code.<br />
<br />
I've a large number of posts I've started but never finished. These are going to also be my priority and include some great topics. For a start, there's the next couple of parts continuing my series on dates. And despite this blog's title, I'd also like to post more about Qlik Sense.<br />
<br />
If you have any topics you'd like to see covered, drop me a comment below and let me know.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com2tag:blogger.com,1999:blog-5585680429157536914.post-50740306602372242212018-02-02T11:56:00.001+00:002018-02-02T11:56:55.299+00:00Text Editors for Qlik DevelopersAs you will no doubt have seen, I've recently been making some updates to the various Qlik syntax highlighting tools, plugins and extensions I've produced. These updates are long overdue and have added support for some of the changes and additions to QlikView and Qlik Sense over the last couple of years. Support for Direct Query statements, Qlik Sense connection strings and a small number of missing keywords are most notable.<br />
<br />
Whilst making the updates I noticed that the <a href="http://www.qlikviewaddict.com/p/qlikview-ultraedit.html" target="_blank">language definition for UltraEdit</a> hasn't been download anywhere near as many times as the others. It was originally produced at the request of a customer who used UltraEdit and so I never really knew how popular it was these days. This got me wondering what text editors people were using to edit Qlik script files. So curiosity get the better of me and I tweeted a quick poll to find out what people's preferences were. After 24 hours the results were in and the tweets I received were read. A huge thanks to everyone who responded!<br />
<a name='more'></a><div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylpoEqDjE6MPbQ6p_bgOD73Qr9CjqzUL76ioEuqD-QciVunPp6cAWiDKm49Ibb35tGA2ngZret0Ik22DYpotflcbO2yx4UCRXKGfQZhMSMfACjyxp5K3aAeKIORNLydHrdmzMdRrjcmZq/s1600/twitter-poll.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="458" data-original-width="585" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhylpoEqDjE6MPbQ6p_bgOD73Qr9CjqzUL76ioEuqD-QciVunPp6cAWiDKm49Ibb35tGA2ngZret0Ik22DYpotflcbO2yx4UCRXKGfQZhMSMfACjyxp5K3aAeKIORNLydHrdmzMdRrjcmZq/s400/twitter-poll.png" width="400" /></a></div>
<br />
Some of the results were of no surprise to me at all. UltraEdit didn't receive a single vote or mention and so although I won't be completely abandoning it, it certainly isn't going to be near the top of my "to do list" from now on.<br />
<br />
Another unsurprising result was that Notepad++ was far ahead of any other with 84% of the votes. My <a href="http://www.qlikviewaddict.com/p/qlikview-notepad.html" target="_blank">Notepad++ language definition</a> is by far the most downloaded of any I've produced with well over 10,000 downloads since I moved the code to GitHub alone.<br />
<br />
What did surprise me was that two editors I thought might be popular, <a href="https://atom.io/" target="_blank">Atom</a> and <a href="http://brackets.io/" target="_blank">Brackets</a>, didn't receive a single vote or mention. It seems these relatively new tools might be popular with web developers but haven't caught on with Qlik devs yet.<br />
<br />
The most suggested tool for a new syntax highlighting was Microsoft's Visual Studio code. Having taken a look, there is already an extension available which, although not perfect, is a great start. The extension can be found in the <a href="https://marketplace.visualstudio.com/items?itemName=Gimly81.qlik" target="_blank">Visual Studio Marketplace</a> and was produced by Xavier Hahn. I've reached out to Xavier and hopefully we'll be collaborate to improve this extension rather than starting from scratch myself. Watch this space for updates!!!<br />
<br />
Other notable mentions were OxygenXML and Sublime Text. As the name suggests, the former was originally intended for working with XML files. I've done some quick digging and I didn't find anything about defining new languages for it. So I'll have to keep looking (get in touch if you know how or can point me to some info). Sublime Text is a great editor, but where as most of the others mentioned here are free, Sublime costs USD$80. Because of this, I had initially written off the idea thinking the potential user base might be limited like UltraEdit. However, I've since realised that Sublime, Visual Studio Code and Atom all use the same standard for defining a language (TextMate Languages). And so if we manage to get the VS Code extension working well, the others might be very simple to add also.<br />
<br />
If you have any suggestions for other text editors, spot any problems with the existing Qlik syntax highlighting tools or wish to collaborate on one of them, leave me a comment below or drop me a message on twitter.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com4tag:blogger.com,1999:blog-5585680429157536914.post-44115373189294332342018-01-31T09:06:00.000+00:002018-01-31T09:06:03.412+00:00Qlik Sense WordPress PluginWhilst updating the Qlik for WordPress plugin recently, I noticed that it was no longer the only Qlik related WordPress plugin available. The newcomer, produced by Yianni Ververis of Qlik, allows you to easily embed Qlik Sense charts, tables and other objects into posts and pages on a WordPress powered website.<br />
<br />
You can find full details and instructions on how to install and use this plugin <a href="http://www.qlikviewaddict.com/p/qlik-sense-wordpress.html" target="_blank">here</a> or alternatively, below is a quick video from Qlik:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/dSZh5IJcp2g/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/dSZh5IJcp2g?feature=player_embedded" width="320"></iframe></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
I've been working with Yianni over the last week to offer some improvements to make the plugin even more simple to use. The new release 1.3.0 is available to download now!<br />
<br />Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com2tag:blogger.com,1999:blog-5585680429157536914.post-30107657000176792322018-01-25T11:58:00.000+00:002018-01-25T11:58:37.752+00:00Qlik Notepad++ Language Definition v2.5A new version of the Qlik Notepad++ Language Definition has been released. Version 2.5 contains the following functionality improvements and bug fixes:<br />
<ul>
<li>Added Qlik Sense connection string support</li>
<li>Added the missing keywords DERIVE and FLUSHLOG</li>
<li>Added support for DIRECT QUERY statements</li>
<li>Corrected issue with some keywords not highlighting when touching a semi-colon</li>
<li>Added support for QlikView Components variables and sub routines</li>
<li>Other minor improvements</li>
</ul>
This release contains the following known issues:<br />
<ul>
<li>The if() function is highlighted in bold. This is because Notepad++ can't differentiate between the if() function and the IF statement. No known solution is available for this issue.</li>
</ul>
It is recommended that this release be used with Notepad++ version 6.6.9 and later.<br />
<br />
As always, head over to the <a href="http://www.qlikviewaddict.com/p/qlikview-notepad.html" target="_blank">Notepad++ Language Definition page</a> (or Branch) for the download link and instructions.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-66363605247562935422018-01-22T11:06:00.000+00:002018-01-24T13:07:27.520+00:00A surprising data visualisation pioneer: Florence Nightingale<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cUcOipv6pcqphKojQ7cWtAgDC2qCUCkoCo5Hq6msQA-vS-Vr6p5a3RqhqMzfitwoBG0EEceFBwIOxqwXpDvsS0jsjNfPSHGA8Q1ooYmy383dE8gP3z3UW0LUAyU9DyAU4JrXqUsTZ_PO/s1600/Florence_Nightingale_%2528H_Hering_NPG_x82368%2529.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="800" data-original-width="576" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1cUcOipv6pcqphKojQ7cWtAgDC2qCUCkoCo5Hq6msQA-vS-Vr6p5a3RqhqMzfitwoBG0EEceFBwIOxqwXpDvsS0jsjNfPSHGA8Q1ooYmy383dE8gP3z3UW0LUAyU9DyAU4JrXqUsTZ_PO/s320/Florence_Nightingale_%2528H_Hering_NPG_x82368%2529.jpg" width="230" /></a></div>
Florence Nightingale is famous across the world for being the founder of modern nursing. You may well be familiar with stories of "The Lady with the Lamp" and her contributions to treating the sick and injured during the Crimean War. But what you may not know is that Florence was also a pioneer in using Data Visualisation to tell a story.<br />
<br />
Born on 12th May 1820 into a rich upper-class British family, Florence spent most of her early years growing up at their lavish family estate in the South of England. She was highly educated by her father, something that was unusual for a girl at that time. From an early age, she demonstrated a gift for mathematics which would become extremely significant in later life.<br />
<br />
At that time, young women from affluent English families were expected to dedicate their lives to becoming wives and mothers. Florence, however, felt that her future lay in helping others and in 1844 she announced to her family that she wished to become a nurse. Despite the anger and protests of her mother, she set about training herself in the art and science of nursing.<br />
<a name='more'></a><br />
Whilst in Rome in 1847, Florence met and became good friends with a British politician named Sidney Herbert. Sidney had previously been Secretary of War and he would return to the post during<br />
the Crimean War. It was this friendship that would secure her future path and in late 1854, Florence headed a large team of nurses and nuns sent to the Crimea under the authority of Sidney.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQc9JKlygr_R3NcTvnBdIMEnmku6CPdUm9PYQAMTMr-laxZoR2OJ9lBVsXEp9NQNuqLlVtVjuy5iwS9Hj4KleoPG6vMxNzTrh_IL7mbazOJj28GfLlgF-2WlGpXH99fQdsNG_yIgI84Nq2/s1600/George+Johnson.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="126" data-original-width="1380" height="57" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQc9JKlygr_R3NcTvnBdIMEnmku6CPdUm9PYQAMTMr-laxZoR2OJ9lBVsXEp9NQNuqLlVtVjuy5iwS9Hj4KleoPG6vMxNzTrh_IL7mbazOJj28GfLlgF-2WlGpXH99fQdsNG_yIgI84Nq2/s640/George+Johnson.jpg" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Entry for George Johnson in the UK Military Campaign Medals and Awards Rolls</td></tr>
</tbody></table>
One of my hobbies is Genealogy and I recently discovered that my great great grandfather George Johnson was a soldier in the Crimean war. He was one of the lucky ones who made it home, despite having served in 3 of the biggest battles at Alma, Inkerman and Sevastopol. Official statistics of British casualties paint a horrific picture. Of the more than 21,000 who died during the war, less than 5,000 were actually killed in battle or died later of wounds. More than three times as many men died from disease and that figure rose to more than 10 times in some months. You were far more likely to die of an illness like cholera, dysentery or typhoid than from battle.<br />
<br />
A handful of historians have questioned exactly how much impact Nightingale had on disease amongst soldiers in the Crimea. But the general consensus seems to remain that her actions undoubtedly saved thousands of lives. That subject is somewhat outside the scope of this blog and my expertise however, so I won't delve into it any further here. If you want to know more, you'll find a lot written about <a href="https://en.wikipedia.org/wiki/Florence_Nightingale" target="_blank">Florence Nightingale</a> and I'd encourage you to also take a look at the less well known <a href="https://en.wikipedia.org/wiki/Mary_Seacole" target="_blank">Mary Seacole</a>.<br />
<br />
Whilst in the Crimea and when back in England after the war, Nightingale actively petitioned the British Government to take action to improve sanitation, both at home and for soldiers abroad. In doing so, she quickly realised that the majority of politicians and officials were lacking her aptitude for mathematics and as a result, were finding it difficult to understand a traditional statistical report. So she started to include diagrams and charts in her reports to help to convey and emphasise her points.<br />
<br />
On 11th October 1858, Nightingale wrote a "note" to Queen Victoria in which she included a new type of visualisation. The original note and diagram can be viewed <a href="https://www.royalcollection.org.uk/collection/1075240/notes-on-matters-affecting-the-health-efficiency-and-hospital-administration-of" target="_blank">here in the Royal Collection</a>. The diagram clearly showed how many more soldiers were dying from disease than battle and as a result, she is today credited with inventing what we now refer to as a Polar Area Chart/Diagram.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQfcsXK7_KTS-cqdmyJ6vWdFeQyAEkioV1qQi58jAySSB0oOi1T7uIHnMZ9X-CPBe41zZ2wghfOFz_Yl_J_CMsYR-__uiCc1AS7HGMyMk83Fj5ZlCZEQ6vRBti00bK_5dIUYt3_79UNfeS/s1600/257852-1330625676.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="500" data-original-width="754" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQfcsXK7_KTS-cqdmyJ6vWdFeQyAEkioV1qQi58jAySSB0oOi1T7uIHnMZ9X-CPBe41zZ2wghfOFz_Yl_J_CMsYR-__uiCc1AS7HGMyMk83Fj5ZlCZEQ6vRBti00bK_5dIUYt3_79UNfeS/s400/257852-1330625676.jpg" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Diagram of the Causes of Mortality in the Army in the East by Florence Nightingale, 1858.</td></tr>
</tbody></table>
It is worth pointing out that earlier examples of Polar Area Charts do exist (for example,André-Michel Guerry in 1829) and it is unclear whether Nightingale had seen any of these. What is clear is that whether or not she invent them, she used Polar Area Diagrams and other Data Visualisations to great effect.<br />
<br />
This kind of graphical statistical representation may today seem obvious and ordinary, but in the 1800's this was truly revolutionary and marks Nightingale as pioneer of Data Visualisation. Her peers clearly agreed and in 1859 she became the first female member of the <a href="https://www.rss.org.uk/" target="_blank">Royal Statistical Society</a>, later becoming an honorary member of the <a href="http://www.amstat.org/" target="_blank">American Statistical Association</a> in 1874.<br />
<br />
Polar Area Charts are also sometimes known as Courbes Circulaires, Coxcomb Diagrams, Wind Rose Charts and even Nightingale Rose Diagrams. They are most effective at displaying cyclic data and are commonly used by meteorologists to display seasonal variations. They are broadly similar to a regular pie chart but differ in one simple way. In a pie chart, the segments are all of equal radius (the distance from the centre of the circle to their edge), with each segment's differing angle representing the underlying data. In a Polar Area chart this is inverted, with all segments being of equal angle but their differing radius represents the data values. In Nightingale's diagram above, she divides each circle into 12 segments, each of 30 degrees and representing a month of the year. The area of each segment represents the deaths from preventable disease (blue), battle wounds (red) and other causes (black). It's clear to see how the majority of deaths were occuring.<br />
<br />
When Nightingale died at home in London on 13 August 1910, at the grand age of 90, she undoubtedly left a huge legacy. Her contributions to nursing and public sanitation are legendary, but I would argue that her contributions to Data Visualisation may be almost as important.<br />
<br />
If you haven't read it already, check out my earlier post on another Data Visualisation pioneer <a href="http://www.qlikviewaddict.com/2015/03/the-origins-of-data-visualisation.html" target="_blank">Michael van Langren</a>.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com3tag:blogger.com,1999:blog-5585680429157536914.post-83790453649467065672018-01-17T11:17:00.000+00:002018-01-17T11:17:07.015+00:00Qlik for WordPress Plugin v1.2Qlik for WordPress Plugin version 1.2 has been released and included the following updates:<br />
<ul>
<li>Minor bug fixes</li>
<li>Update to the Highlight.js core</li>
</ul>
If you installed the plugin from the WordPress Plugins Directory then you will be prompted to install the update next time you log in to your site's WordPress Admin portal. Alternatively, downloads and full instructions for installation and use can be found on the <a href="http://www.qlikviewaddict.com/p/qlikview-wordpress-plugin.html" target="_blank">QlikView for WordPress </a>page, or alternatively on the <a href="https://wordpress.org/plugins/qlikview-syntax-highlighter/" target="_blank">WordPress.org</a> website.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-43950057186908021552018-01-16T14:21:00.002+00:002018-01-16T14:22:36.210+00:00Qlik Web Syntax Highlighter v1.2Qlik Web Syntax Highlighter version 1.2 has been released and included the following updates:<br />
<ul>
<li>Minor bug fixes</li>
<li>Update to the Highlight.js core</li>
</ul>
As always, grab the download link and full instructions from the <a href="http://www.qlikviewaddict.com/p/qlikview-web-highlight.html" target="_blank">QlikView Web Syntax Highlighter</a> page. If you find any issues or have any suggestions, please leave me a comment below.<br />
<br />
A new version of the Qlik for WordPress Plugin based on the Web Syntax Highlighter is planned for release shortly.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-12629208810287331962015-06-17T18:17:00.000+01:002015-08-04T10:18:29.486+01:00QlikViewAddict.com gets a face liftAs you can see, QlikViewAddict.com has started to go through a redesign. It's been something I've been planning for a while now and it isn't yet complete. Over the next few days I'll be rolling out the rest of the redesign and I'll do my best to keep any disruption to the site to a minimum. If you do find the site is down at any time, please call back a little later.<br />
<br />
It still astonishes me the volume of traffic this site gets and I feel guilty for not finding the time to blog more than I do. This redesign will hopefully be the start of a few changes to the site which I hope will reignite my enthusiasm.<br />
<br />
- MattMatt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com5tag:blogger.com,1999:blog-5585680429157536914.post-25654481490381004932015-04-27T12:37:00.000+01:002015-06-17T18:37:32.565+01:00WordPress XSS VulnerabilityA vulnerability has recently been found which affects a huge number of WordPress plugins and themes. In simple terms, it allows malicious code to be executed on any site using a theme or plugin which contains the vulnerability.<br />
<div>
<br /></div>
<div>
For those using my QlikView for WordPress plugin, the good news is that it isn't affected by this XSS vulnerability and so you don't need to worry. However many of the most commonly used plugins have been found to contain the vulnerability including:<br />
<br />
<a name='more'></a><ul>
<li>Jetpack</li>
<li>WordPress SEO</li>
<li>Google Analytics by Yoast</li>
<li>All In one SEO</li>
<li>Gravity Forms</li>
<li>Multiple Plugins from Easy Digital Downloads</li>
<li>UpdraftPlus</li>
<li>WP-E-Commerce</li>
<li>WPTouch</li>
<li>Download Monitor</li>
<li>Related Posts for WordPress</li>
<li>My Calendar</li>
<li>P3 Profiler</li>
<li>Give</li>
<li>Multiple iThemes products including Builder and Exchange</li>
<li>Broken-Link-Checker</li>
<li>Ninja Forms</li>
</ul>
<br />
Whether you use any of the above plugins on your WordPress powered site or not, I strongly recommend that you check regularly for updates to the themes and plugins that you do use and install any updates as soon as they become available.</div>
Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-17589025299559625952015-03-27T14:05:00.000+00:002015-03-27T14:19:32.565+00:00The origins of data visualisation: Michael van LangrenThe Chinese philosopher Confucius is thought to have said "Study the past if you would define the future". Whilst I have no intention of defining the future of data visualisation, I certainly believe that looking at its origins, successes and failures can help us to better visualise data today.<br />
<br />
It is fairly widely accepted that the first true data visualisation was made by the Dutch cartographer, mathematician and engineer Michael van Langren. Langren served as royal mathematician to King Philip IV of Spain, and became interested in one of the most important mathematical problems of the day - how to accurately determine longitude. Being able to determine longitude was hugely important for navigation, especially at sea. There were various methods used at the time but most were known to be estimations at best. <br />
<br />
To demonstrate the wide difference in the estimations, in 1644 Langren published a simple, single dimensional chart to demonstrate the significance of the problem to the Spanish court. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR29CX3cXmgsmCSw14V_7TJtminiIRAaHAypU0fsSIqxi8xNJxmCnZ5nabcDhc7cF2N6PmQBKbPCcK5AiHyuLTOt72-zXhpsEtCvv2Lg__qFSg77UYMKzR1CSIrw5ZDTQjlWuOTGhMqvMt/s1600/langren+1.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhR29CX3cXmgsmCSw14V_7TJtminiIRAaHAypU0fsSIqxi8xNJxmCnZ5nabcDhc7cF2N6PmQBKbPCcK5AiHyuLTOt72-zXhpsEtCvv2Lg__qFSg77UYMKzR1CSIrw5ZDTQjlWuOTGhMqvMt/s1600/langren+1.jpg" height="100" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Langren drawing for the Spanish court of 1644</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
</div>
<a name='more'></a><br />
On it he plotted the estimations made by 12 astronomers of the difference in longitude between Toledo in Spain and Rome in Italy. His drawing clearly shows what we would now refer to as the statistical distribution of the 12 estimates, making it not simply a picture but a chart, and marking Langren as the farther of modern data visualisation. Although it is extremely simple by modern data visualisation standards, it could certainly be argued that is it still the best possible way to visualise the data.<br />
<br />
With the technology available to us today, we can now not only see the huge variation in the estimates, but the fact that even the smallest is significantly too large. The below is an overlay of the above chart on a modern Google map scaled to match.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizVmpRno82xXoP8R1b9dbSsmoAFcNcaENZ1EARHEOmCIB5jXgp56WrLe-LC39f6rQwRlTr8nQcPwklqykPqXFUXTOHmxBviiZ3UAw5iVCjH8GF-JCn4FwaCupsjs6JLKLPEDjhF6VRbNop/s1600/langren-google-overlay.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizVmpRno82xXoP8R1b9dbSsmoAFcNcaENZ1EARHEOmCIB5jXgp56WrLe-LC39f6rQwRlTr8nQcPwklqykPqXFUXTOHmxBviiZ3UAw5iVCjH8GF-JCn4FwaCupsjs6JLKLPEDjhF6VRbNop/s1600/langren-google-overlay.jpg" height="78" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Langren drawing of 1644 overlaid on a Google map</td></tr>
</tbody></table>
<br />
It is worth noting however that the story of Langren's chart dates back even earlier. The chart he published in 1644 is now known to have been first drawn much earlier. In a letter he wrote in 1628 to Isabella Clara Eugenia, daughter of Philip II of Spain, Langren included a drawing, that whilst showing fewer longitudinal estimates, is no doubt the same.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEz8WGU9xXQoO4lWJEQNQHRWdCQXxwx8SFlElv2cHEgT1Q0Nlvox9UReCfmpq5lT2nRRBIygeKrg0Ql-zPzGJ44Kt1FwsfBOGCd5Mw3BTdY9gtUBMLn8YglkCCsF06-YWf8aF_bvKM2hCl/s1600/Langren-2.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEz8WGU9xXQoO4lWJEQNQHRWdCQXxwx8SFlElv2cHEgT1Q0Nlvox9UReCfmpq5lT2nRRBIygeKrg0Ql-zPzGJ44Kt1FwsfBOGCd5Mw3BTdY9gtUBMLn8YglkCCsF06-YWf8aF_bvKM2hCl/s1600/Langren-2.png" height="191" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Section of a letter by Langren to Isabella Clara Eugenia, 1628</td></tr>
</tbody></table>
So next time you are building a QlikView or Sense dashboard, think back to Michael van Langren and what he started all those years ago.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com1tag:blogger.com,1999:blog-5585680429157536914.post-2912303325838303112015-03-12T09:11:00.000+00:002015-03-12T09:11:00.104+00:00QlikView Components v10.1 ReleasedA new version of QlikView Components (QVC) is now available. Version 10.1 brings bug fixes and improvements to additional functionality. This new release can be downloaded from: <a href="https://github.com/RobWunderlich/Qlikview-Components/releases/tag/v10.1">https://github.com/RobWunderlich/Qlikview-Components/releases/tag/v10.1</a><br />
<br />
Changes for V10.1:<br />
<ul>
<li>Closed issue 23. Non-English characters not supported in log file. (Thanks to Alkopfer)</li>
<li style="box-sizing: border-box;">Qvc.Log -- New variable Qvc.Log.v.WriteToQvLog, indicated if the logging should also be written to the QlikView/Sense application log file and script progress window.</li>
<li style="box-sizing: border-box;">Closed issue 24. Qvc.IncrementalSetup failing when QVD exists but is empty. (Thanks for Luca Jonathan Panetta)</li>
<li style="box-sizing: border-box;">Qvc.SegmentedStore -- New segment type of 'day' added to create daily QVDs.</li>
</ul>
<br />
You can read the full release notes <a href="https://github.com/RobWunderlich/Qlikview-Components/raw/master/Doc/Qlikview%20Components%20Release%20Notes%20V10.1.pdf">here</a>.<br />
-MattMatt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-28904696868186867862015-02-27T14:08:00.000+00:002015-03-28T21:48:33.613+00:00Populate QlikView variables from an external fileWhen building multiple tiered QlikView solutions, it is often handy to be able to define global variables that are then used across all QVWs within the solution. For example, having a single variable that defines where QVDs are to be stored and loaded from, can make moving the app from a development environment to a production server a little quicker and simpler.<br />
<br />
I'm starting to feel like a broken record saying this, but there are of course multiple ways to achieve this in QlikView. One method, and probably the most commonly used, would be to define the variables in a QlikView script file as follows:<br />
<br />
<pre><code class="qvs">SET vQVDPath = C:\QlikView\Data\QVDs\;</code></pre>
<br />
The script file can then be included in multiple QVWs by added the following line towards the start of each script:<br />
<br />
<pre><code class="qvs">$(Include=..\config\variables.qvs);</code></pre>
<a name='more'></a><br />
This method is perfect, with one exception, to edit the variables a user would need at least some basic QlikView scripting experience. What if we could store the variables in a simple table, such as an Excel spreadsheet, and then load them into multiple QVWs from there. This would allow anyone to edit the spreadsheet and thus change where the QVDs are to be stored.<br />
<br />
The method I'll show you below uses the QlikView Components (QVC) script library. If you are not familiar with QVC I highly recommend you take a look <a href="http://www.qlikviewaddict.com/p/qlikviewcomponents.html">here</a>. It provides a series of subroutines and functions intended to assist and speed up the development of QlikView applications. One of these subroutines, Qvc.PopulateVariables, does exactly what we require.<br />
<br />
The first thing we need to do is to include the QVC script file into the application in the same way we included the script file above:<br />
<br />
<pre><code class="qvs">$(Include=..\QVC\Qvc_Runtime\Qvc.qvs);</code></pre>
<br />
Next we load the variables into a table from the spreadsheet where they have been entered.<br />
<br />
<pre><code class="qvs">Variables:
LOAD
Name,
Definition
FROM [..\config\variables.xls]
(biff, embedded labels, table is Sheet1$);</code></pre>
<br />
Whilst this example uses an Excel spreadsheet, the table can be loaded from any source such as an XML file, a CSV, a database, etc. What is important is that the table contains at least 2 fields, that the first contains the names of the variables to be created, and the second contains the values to be set to them. Once this table exists, you can call the Qvc.PopulateVariables routine to convert the table into variables.<br />
<br />
<pre><code class="qvs">CALL Qvc.PopulateVariables ('Variables', -1);</code></pre>
<br />
The first parameter is required and should be a string containing the name of the previously loaded table which contains the variable definitions. The second parameter is optional and defines whether the variables should be defined using SET (0) or LET (-1). With that complete, we can of course drop the variables table as it is now surplus to requirements.<br />
<br />
<pre><code class="qvs">DROP TABLE Variables;</code></pre>
<br />
We now have all our variables set in the application as we intended and can perform the same script snippet in each QVW where we need the same variables to be set. <br />
<br />
One final trick, what if you wanted to load variables from another QVW file? Thankfully this can also be done. You might not be aware that a QVW file includes an XML footer. This XML contains many useful bits of information, including a list of the variables within the app and their values when the QVW was last saved. The following script can be used to load these variables from the XML of a QVW into a table.<br />
<br />
<pre><code class="qvs">Variables:
LOAD
Name,
RawValue
FROM [MyApp.qvw]
(XmlSimple, Table is [DocumentSummary/VariableDescription]);</code></pre>
<br />
Once in a table, you can used the same QVC call as above to populate them into variables,Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com3tag:blogger.com,1999:blog-5585680429157536914.post-26792919425060831262015-02-23T11:11:00.000+00:002015-02-23T11:34:03.245+00:00QlikView Components v10 Released<p>A new version of QlikView Components (QVC) is now available. Version 10 brings many new features and big fixes, most notably, the first additions from the <a href="http://www.qlikviewaddict.com/2015/02/qlikview-addict-codebox-merging-with.html">merger of QVC with QlikView Addict CodeBox (QVACB)</a>. This new release can be downloaded from: <a href="https://github.com/RobWunderlich/Qlikview-Components/releases/tag/v10">https://github.com/RobWunderlich/Qlikview-Components/releases/tag/v10</a></p>
<p>Changes for V10:<br />
- QVC Documentation and Examples are Personal Edition enabled.<br />
- Merged QVACB library with QVC.<br />
- Migrated Sub from QVACB, Qvc.Icons. Bundle loads image files into a QVW.<br />
- Migrated sub from QVACB, Qvc.QvdEmpty. Empties data from a QVD.<br />
- Migrated sub from QVACB, Qvc.SegmentedStore. STOREs table into segmented QVDs by date range.<br />
- Migrated function from QVACB, Qvc.DateDiff.<br />
- Migrated function from QVACB, Qvc.Days360.<br />
- Migrated function from QVACB, Qvc.NVL.<br />
- Migrated function from QVACB, Qvc.InRange.<br />
- Closed Issue 12. Qvc.ExpandInterval script error when field name contains comma.<br />
- Closed Issue 5. Qvc.DbExtract Initial extraction proceeds even when KeyField has typo in it.<br />
- Closed Issue 4. Qvc. DbExtract Provide table specific BaseValue.<br /></p>
<p>You can read the full release notes <a href="https://github.com/RobWunderlich/Qlikview-Components/raw/master/Doc/Qlikview%20Components%20Release%20Notes%20V10.pdf">here</a>.</p>
<p>-Matt</p>
Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-39827424890968330892015-02-13T13:37:00.000+00:002015-02-13T13:37:00.244+00:00QlikView Addict CodeBox merging with QlikView ComponentsThe QlikView Addict CodeBox (QVACB) isn't a thing most people will be familiar with; the reason why will become clear as you read on. Several years ago now, I had some time on my hands and so I set about collating into a single package, all the reusable and useful bits of QlikView code I had lying around. The end result was QVACB. My intention was that at some point I would release it so that other QlikView developers could make use it, but maintaining my other released tools (such as the syntax highlighting) kept getting in the way. And so QVACB has been sat on the virtual shelf, only ever getting as far as being released to a handful of QlikView consultants/developers in something loosely resembling an alpha trial. I'm sad to say it hasn't even been updated in well over a year.<br />
<br />
Recently I started to receive a few messages from people asking me to fix issues or add features to QVACB. After a little digging, it transpired that QVACB was being used by more people than I had thought and in some cases even in production solutions. This made me consider what the best way would be to go about releasing it properly. However, the last thing I wanted to do was release something which I never got the time to maintain properly.<br />
<a name='more'></a><br />
Many of you will be familiar with QlikView Components (QVC), another QlikView code library which was produced by Rob Wunderlich. Rob is a very well respected and highly experienced independent QlikView consultant based in the US, who also produces the well known QlikView Cookbook blog. QlikView Components has a lot of similar abilities to QVACB and so it made sense to me that combining the two would not only provide QlikView developers with a single library to use, but also mean managing and updating it could be a joint effort. After talking it through with Rob he agreed and so I'm very happy to announce that we have begun the process of merging the two libraries.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifChusLyEujMLn-W4UujOQru2w9N-E5xeXKIVofK9_DWC7uXMlgk0KqWVP6Yuh8xWHst_SYgAWnO7vB-gAoJiIYw_JxaHYzpH53Jm9BYKISh7RTuWNwNub_Z7VmlSyUvjIb238oI3OL9sU/s1600/QlikviewComponentsLogo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifChusLyEujMLn-W4UujOQru2w9N-E5xeXKIVofK9_DWC7uXMlgk0KqWVP6Yuh8xWHst_SYgAWnO7vB-gAoJiIYw_JxaHYzpH53Jm9BYKISh7RTuWNwNub_Z7VmlSyUvjIb238oI3OL9sU/s1600/QlikviewComponentsLogo.png" height="112" width="320" /></a></div>
<br />
<br />
In the process of the merge it is inevitable that we must define a standardised syntax and so unfortunately we have had to make a decision as to which libraries syntax to keep going forward. Because QlikView Components has been formally released for several years and as a result has a much larger existing user base, it is the obvious choice that we avoid changing its syntax as much as possible. And so we will be merging the additional functionality from QVACB into QVC (Acronym overload I know). This will mean that QVACB ceases to exist and that those people who are using it will need to migrate their code to use QlikView Components. I'd like to think that the benefits of having the additional abilities of QVC and knowing that it is supported and maintained going forward, will far outweigh the hassle of making the switch. <br />
<br />
Over the coming weeks we'll be busy working away on the migration and will bring you the first new version of QlikView Components containing merged QVACB features as soon as possible. Of course I'll post here a soon as a release is made. You can also follow the progress on the <a href="https://github.com/RobWunderlich/Qlikview-Components" target="_blank">GitHub project</a>.<br />
<br />
And finally, if you would like to contribute to QlikView Components, whether it be suggestions for new features, or becoming a co-developer, please get in touch with either Rob or myself. Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com2tag:blogger.com,1999:blog-5585680429157536914.post-30342165011533468192015-02-12T10:09:00.000+00:002015-02-12T10:09:00.161+00:00QlikView for WordPress Plugin v1.1QlikView for WordPress Plugin version 1.1 has been released and included the following updates:<br />
<ul>
<li>The highlight.js core has been updated to the latest release of highlight.js.</li>
<li>Improvements to the identification of field names in both script and expressions.</li>
<li>Added missing IN keyword.</li>
<li>Added missing filelist() function.</li>
<li>Other minor highlighting improvements.</li>
</ul>
If you installed the plugin from the WordPress Plugins Directory then you will be prompted to install the update next time you log in to your site's WordPress Admin portal. Alternatively, downloads and full instructions for installation and use can be found on the <a href="http://www.qlikviewaddict.com/p/qlikview-wordpress-plugin.html" target="_blank">QlikView for WordPress </a>page, or alternatively on the <a href="https://wordpress.org/plugins/qlikview-syntax-highlighter/" target="_blank">WordPress.org</a> website. Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-43719047697566034252015-02-10T14:58:00.000+00:002015-02-10T14:58:00.353+00:00QlikView UltraEdit Wordfile v2.1A new version of the QlikView UltraEdit Wordfile has been released to correct some minor issues. Version 2.1 contains the same fixes as the Notepad++ version as follows:<br />
<ul>
<li>Added the missing keyword "IN"</li>
<li>Added the missing function "filelist()" </li>
<li>Other minor code improvements.</li>
</ul>
As always, full instructions and download links can be found on the <a href="http://www.qlikviewaddict.com/p/qlikview-ultraedit.html">QlikView for UltraEdit</a> page or on Branch. A new version of my QlikView Web Highlighter to follow soon including an update to the QlikView for WordPress plugin. Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-75462882491271674462015-02-10T09:48:00.000+00:002015-02-10T09:48:00.255+00:00QlikView Notepad++ Language Definition v2.4A new version of the QlikView Notepad++ Language
Definition has been released to correct some minor issues. Version 2.4 contains the following minor
fixes/functionality:<br />
<ul>
<li>Added the missing keyword "IN"</li>
<li>Added the missing function "filelist()" </li>
<li>Other minor code improvements.</li>
</ul>
As always, head over to the <a href="http://www.qlikviewaddict.com/p/qlikview-notepad.html" target="_blank">Notepad++ Language Definition page</a> (or Branch) for the download link and instructions. New versions of my other syntax highlighters to follow shortly.Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-43077036956676883662014-10-19T00:48:00.000+01:002014-10-19T00:48:40.073+01:00QlikView Web Syntax Highlighter v1.0Hot on the heals of last week's release of QlikView for WordPress, I'm pleased to announce the first full release of QlikView Web Syntax Highlighter v1.0 which the WordPress plugin is based on.<br />
<br />
QlikView Web Syntax Highlighter provides basic syntax highlighting of QlikView script and expressions within web pages. It utilises a custom build of Highlight.js to apply the highlighting dynamically when the web page is viewed.<br />
<br />
This version includes the following functionality:<br />
<ul>
<li>Highlighting of all current (v11.20) functions</li>
<li>Highlighting of all current (v11.20) keywords and statements</li>
<li>Highlighting of line comments (//) and block comments (/* */ and REM ; ) </li>
<li>Highlighting of variable definitions (SET and LET)</li>
<li>Highlighting the usage of variable within dollar-sign expansion $( )</li>
<li>Highlighting of field names in most situations </li>
</ul>
As always, grab the download link and full instructions from the <a href="http://p/qlikview-web-highlight.html" target="_blank">QlikView Web Syntax Highlighter </a>page. If you find any issues or have any suggestions, please leave me a comment below. Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com0tag:blogger.com,1999:blog-5585680429157536914.post-86272591976105738032014-10-17T21:42:00.000+01:002014-10-18T02:18:56.850+01:00QlikView for WordPress Plugin v0.2As you may well have seen already, yesterday I released the first official pre-release of QlikView for WordPress plugin. This plugin brings syntax highlighting of QlikView script and expressions within posts and pages to WordPress blogs and websites.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShV6T88QFAjjROI8GA04Aev_bo6eRb1PF1mVvEoYFklx1wDWZVURMokuwqKBTEHDmu9VcBVojv6ZWhsgTyrcGIx-UAlqLLBWMjVlRKZ8_5cIED9AR2XMl12c2jJs_pkJ55XbRM9JYmaY3/s1600/screenshot-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="A QlikView expressions showing syntax highlighting" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiShV6T88QFAjjROI8GA04Aev_bo6eRb1PF1mVvEoYFklx1wDWZVURMokuwqKBTEHDmu9VcBVojv6ZWhsgTyrcGIx-UAlqLLBWMjVlRKZ8_5cIED9AR2XMl12c2jJs_pkJ55XbRM9JYmaY3/s1600/screenshot-1.png" height="102" title="" width="400" /></a></div>
<br />
The syntax highlighting is currently an approximation of that within the QlikView script and expression editors. It is however expected that the highlighting will be improved in later versions. The next version will include significant improvements to highlighting of expressions as well as some minor bug fixes.<br />
<br />
Downloads and full instructions for installation and use can be found on the <a href="http://www.qlikviewaddict.com/p/qlikview-wordpress-plugin.html" target="_blank">QlikView for WordPress </a>page, or alternatively on the <a href="https://wordpress.org/plugins/qlikview-syntax-highlighter/" target="_blank">WordPress.org</a> website. <br />
<br />Matt Fryerhttp://www.blogger.com/profile/16375702764551893303noreply@blogger.com5