Packt Publishing have been slowly but surely securing themselves as the one stop publishing house for QlikView books. With no less than 6 titles now available and more in the pipeline, there can be no doubt they've been busy, but are they worth spending your hard earned cash on?
Some time ago I reviewed their first QlikView book QlikView 11 for Developers which was written by Miguel Garcia and Barry Harmsen and released back in November 2012. The subject of this review is the next book released, QlikView for Developers Cookbook written by Stephen Redmond. I confess I've had this book since it's release, but with a baby
QlikView addict at home and endless work commitments, time really hasn't been on my
side lately. And as with my previous book reviews, I like to ensure I've
not just skimmed through the book but given it a thorough read. There isn't
much point in me spouting opinion, and I certainly
wouldn't recommend a book unless I honestly knew it's contents in detail.
So here goes...
Showing posts with label review. Show all posts
Showing posts with label review. Show all posts
Monday, 23 June 2014
Sunday, 26 May 2013
Review of QlikView 11 for Developers
There have been a handful of books on QlikView released over the last couple of years, most set on trying to teach new users how to build successful applications, but all have yet to hit the spot for me; there was always
something missing. I regularly get asked by customers if there is a book I would recommend, but for me to recommend a book to a client I need to be
confident in the advice it gives. Ultimately I'll be the one who ends
up picking up the pieces if it's bad advice. Because of this, in the past, I've avoided recommending a book and instead suggested other routes and resources available.
QlikView 11 for Developers was released towards the end of 2012 and is authored by Miguel Garcia and Barry Harmsen, both experienced QlikView consultants. The back of the book makes the following claim:
QlikView 11 for Developers was released towards the end of 2012 and is authored by Miguel Garcia and Barry Harmsen, both experienced QlikView consultants. The back of the book makes the following claim:
This book will help you learn QlikView Development from a basic to a practitioner level using a step-by-step approach in a practical environment, and apply proven best practices along the way.
Thursday, 7 June 2012
QViewer Review
I posted yesterday about downloading the newly released QViewer that allows you to view the contents of a QVD file without having to load it into a QlikView application. QViewer was produced by Dmitry Gudkov, a QlikView consultant from the Ukraine and released on his blog a couple of days ago. If you haven't yet, you can read his release post and also find a download link here http://bi-review.blogspot.co.uk/p/fast-qvd-viewer.html
It's worth pointing out that this is a demo version and Dmitry has this to say about it:
The download is a Zip file and contains a number of files including a setup.exe. I extracted the archive and ran the executable. The install was quick (the entire Zip is only 230KB) and the application started itself afterwards. A simple menu across the top of the QViewer window presented me with the option to open a file. I clicked it, navigated to a QVD file and within a few seconds was presented with the contents of the file.
The next menu item on the menu allowed me to view the meta data for the QVD I had opened. As expected, clicking it presented me with another window telling me lots of useful information including the number of rows, the number of columns, the number of distinct values in the fields.
As well as this basic meta data, clicking on a column in the main QViewer window presented me with a small window showing all the distinct values within that column and more importantly, gave me the option to search within it.
It's worth mentioning that this search only effects this window and not the main QViewer window and so you can't use it to search for specific records, only distinct values within the selected field. Maybe that will be a good addition for the final version.
The only real issue I've found so far is that when opening a very large QVD (in excess of 1GB) I received an "Out of Memory" exception. This is likely because the application is compiled as a 32bit version and it simply hit the 2GB limit a single process can address on 32bit windows. Dmitry suggests that from his tests, a memory usage will be approximately 3 times the size of the QVD.
That aside, this is a great little tool and I think this will become even more useful with some tweaks and a 64bit version for the final release. I'll certainly be adding it to my QlikView toolbox.
It's worth pointing out that this is a demo version and Dmitry has this to say about it:
This is a technology demo which will be replaced with more functional self-updated version later.So you can't expect a totally polished application, but from the few tests I've run with it so far, it's been pretty good.
The download is a Zip file and contains a number of files including a setup.exe. I extracted the archive and ran the executable. The install was quick (the entire Zip is only 230KB) and the application started itself afterwards. A simple menu across the top of the QViewer window presented me with the option to open a file. I clicked it, navigated to a QVD file and within a few seconds was presented with the contents of the file.
The next menu item on the menu allowed me to view the meta data for the QVD I had opened. As expected, clicking it presented me with another window telling me lots of useful information including the number of rows, the number of columns, the number of distinct values in the fields.
As well as this basic meta data, clicking on a column in the main QViewer window presented me with a small window showing all the distinct values within that column and more importantly, gave me the option to search within it.
It's worth mentioning that this search only effects this window and not the main QViewer window and so you can't use it to search for specific records, only distinct values within the selected field. Maybe that will be a good addition for the final version.
The only real issue I've found so far is that when opening a very large QVD (in excess of 1GB) I received an "Out of Memory" exception. This is likely because the application is compiled as a 32bit version and it simply hit the 2GB limit a single process can address on 32bit windows. Dmitry suggests that from his tests, a memory usage will be approximately 3 times the size of the QVD.
That aside, this is a great little tool and I think this will become even more useful with some tweaks and a 64bit version for the final release. I'll certainly be adding it to my QlikView toolbox.
Thursday, 23 February 2012
QVSource Review
I finally got some time this week to sit and play with QVSource, produced by the guys at Industrial CodeBox. It's something I've been meaning to get round to for some time but other things kept getting in the way. Below is a quick run through of my first play with it and what I thought.
I fired up qvsource.exe and was presented with an initial window like this:
First things first, how to apply the trial license I had been given. Clicking on the License tab presented a screen displaying that I had no license installed and a button to the right labelled Apply License. Clicking this popped up a window with which to find and apply the license key file (.lic) I download earlier. Once applied everything looked set for me to crack on with getting some data into QV.
Moving back to the Connectors tab I decided to play with Twitter first. I selected the Twitter Connector and hit the Configure button to the right of the window. This popped up a larger window with what, at first glance, looked to be rather a lot of settings.
No worries, a helpful link towards the top right labelled Help Page For This Connector took me to the relevant Wiki page (so much for not reading the help) and it didn't take me long to work out my next step was to hit the Authenticate button. This wasn't initially obvious as it appears to the right of an input field and so I assumed I needed to enter a Token before clicking it. Maybe a slight interface tweak for the future but no biggy. Clicking Authenticate popped up a new window asking me to enter my Twitter username and password.
After entering them and hitting Authorise App I was presented with a Pin Code. The box at the bottom left asked me to enter the pin before closing but it had already done this for me.
Closing this window took me back to the Twitter Connector window and the Token and Token Secret fields were now populated.
I populated the Search Term, Users Lookup and Username fields in the lower half of the window with total guesses and then clicked on the Connector Data tab at the very top. At this point things started to look very promising and the screen showed a list of tables of data available to me from the Twitter API.
I chose the Search table as it was top of the list and after QVSource did it's thing I was presented with a table of data showing tweets matching the search term QlikView as I had entered in the configuration screen. But what next? How to get this data into QV? Then I noticed the QlikView Load Script tab.
This tab offered me a ready made Load statement to cut and paste into QV. Leaving QVSource running in the background so it could work it's magic I quickly pasted the Load statement that had been generated into the script of a new QVW and hit Reload. It was as simple as that and I had Twitter API data in QlikView. I quickly built a couple of objects in QV to prove all was as expected.
I performed this test with QV10 but have since also tried with with QV11 and there is no reason it shouldn't work for older versions of QlikView also. I also played with some of the other tables of data available through the Twitter API with equal success.
As you can see above, it's pretty simple to use too. Anyone with a basic understanding of QlikView should be able to get things up and running in a matter of minutes. Without reading much documentation I had it pulling data from Twitter in under 10 minutes.
If you do get stuck then the documentation is second to none with a Wiki dedicated to QVSource covering the entire product including how to get the individual connectors working. This documentation you might need, as despite how simple QVSource is to use, some of the web APIs can be a little tricky to get running if you are not familiar with them. Following the Wiki solved any trouble I had and I've since also pulled data from Facebook, LinkedIn, Google Analytics and a mailbox, all without too much trouble at all.
The first thing to note is that dealing with large volumes of data will be very slow. This isn't a limitation of QVSource however and rather a limitation of the speed with which data is returned from the APIs. Bear in mind that the data will also be pulled over your internet connection and so again this could prove slow. Most APIs limit the amount of data they will pass anyway.
I found dealing with multiple instances of the same connector to be a little tricky too. For some connectors, such as the MailBox Connector, the authentication details must be entered into QVSource rather than in the QV script. Because of this you would need a seperate instance of QVSource running for each mailbox you wish to read data from. This isn't too hard to achieve by simply copying the QVSource folder repeatedly and configuring each instance to run on a different port (a setting on the Advanced tab). Moving the authentication details to be part of the request URL in the QV script would make this work with a single instance of QVSource and this is something that has already been done with some of the connectors such as the Facebook Personal Connector. I'm sure its something they'll get round to implementing for all connectors at some point soon and will drop the guys an email to make sure I'm not overlooking an obvious solution.
Also, the QVSource application needs to be running in the background for QlikView to refresh the data. This is fine when using it with QV Desktop but when running in a server environment, QVSource needs to be able to recover if the server is rebooted or more importantly continue to run if the user logs out. There is however a relatively simple work around to this issue using the Windows Scheduler as you can read here. Maybe the future could bring a version which runs as a service with a web control panel as this would bring it inline with QVS architecture.
Would I recommend it? Without a doubt!
What is QVSource?
On its website (qvsource.com), it is described as follows:"QVSource makes QlikView the best connected Business Intelligence platform available and enables a new range of QlikView applications to be built which mashup and provide insight into data from a wide range web APIs and other data sources not natively supported."In simple terms, it allows you to access a growing list of data sources which would normally take some custom development to integrate into QlikView. At the time of writing, it can pull data from 32 APIs including Facebook, LinkedIn, Twitter, Youtube, Google Analytics, even OData and POP3 email accounts.The list keeps growing too.
How does it work?
The basic principal is simple, QVSource plays middle man between QlikView and the APIs. QlikView can natively make web calls to return data. QVSource runs a small web server which QlikView can make a call to and it then handles communication with the relevant API returning the data to QV.Getting it working
I was provided with a download link where I could obtain 2 things, the software and a license key file. The software comes as a zip file and on unpacking I discovered no installation appeared to be necessary. OK, time to read the documentation maybe? Don't be silly I'm an impatient techie, I just want to play and besides, I figure trying to do it blind would be a good test of how easy it is to use. For those that do wish to read up first there is a Getting Started Guide explaining in detail the things you need to know to get off the ground.I fired up qvsource.exe and was presented with an initial window like this:
First things first, how to apply the trial license I had been given. Clicking on the License tab presented a screen displaying that I had no license installed and a button to the right labelled Apply License. Clicking this popped up a window with which to find and apply the license key file (.lic) I download earlier. Once applied everything looked set for me to crack on with getting some data into QV.
Moving back to the Connectors tab I decided to play with Twitter first. I selected the Twitter Connector and hit the Configure button to the right of the window. This popped up a larger window with what, at first glance, looked to be rather a lot of settings.
No worries, a helpful link towards the top right labelled Help Page For This Connector took me to the relevant Wiki page (so much for not reading the help) and it didn't take me long to work out my next step was to hit the Authenticate button. This wasn't initially obvious as it appears to the right of an input field and so I assumed I needed to enter a Token before clicking it. Maybe a slight interface tweak for the future but no biggy. Clicking Authenticate popped up a new window asking me to enter my Twitter username and password.
After entering them and hitting Authorise App I was presented with a Pin Code. The box at the bottom left asked me to enter the pin before closing but it had already done this for me.
Closing this window took me back to the Twitter Connector window and the Token and Token Secret fields were now populated.
I populated the Search Term, Users Lookup and Username fields in the lower half of the window with total guesses and then clicked on the Connector Data tab at the very top. At this point things started to look very promising and the screen showed a list of tables of data available to me from the Twitter API.
I chose the Search table as it was top of the list and after QVSource did it's thing I was presented with a table of data showing tweets matching the search term QlikView as I had entered in the configuration screen. But what next? How to get this data into QV? Then I noticed the QlikView Load Script tab.
This tab offered me a ready made Load statement to cut and paste into QV. Leaving QVSource running in the background so it could work it's magic I quickly pasted the Load statement that had been generated into the script of a new QVW and hit Reload. It was as simple as that and I had Twitter API data in QlikView. I quickly built a couple of objects in QV to prove all was as expected.
I performed this test with QV10 but have since also tried with with QV11 and there is no reason it shouldn't work for older versions of QlikView also. I also played with some of the other tables of data available through the Twitter API with equal success.
Pro's
Where do I start? The obvious benefit is in being able to pull data from sources which in the past would have proved difficult. QVSource pays for itself in the time saved doing this alone.As you can see above, it's pretty simple to use too. Anyone with a basic understanding of QlikView should be able to get things up and running in a matter of minutes. Without reading much documentation I had it pulling data from Twitter in under 10 minutes.
If you do get stuck then the documentation is second to none with a Wiki dedicated to QVSource covering the entire product including how to get the individual connectors working. This documentation you might need, as despite how simple QVSource is to use, some of the web APIs can be a little tricky to get running if you are not familiar with them. Following the Wiki solved any trouble I had and I've since also pulled data from Facebook, LinkedIn, Google Analytics and a mailbox, all without too much trouble at all.
Con's
Well, not a lot really, I had to scrape the bottom of the barrel to find these. Remember though that this is a very new product and so I'm sure the development Industrial CodeBox are doing will continue to improve it going forward.The first thing to note is that dealing with large volumes of data will be very slow. This isn't a limitation of QVSource however and rather a limitation of the speed with which data is returned from the APIs. Bear in mind that the data will also be pulled over your internet connection and so again this could prove slow. Most APIs limit the amount of data they will pass anyway.
I found dealing with multiple instances of the same connector to be a little tricky too. For some connectors, such as the MailBox Connector, the authentication details must be entered into QVSource rather than in the QV script. Because of this you would need a seperate instance of QVSource running for each mailbox you wish to read data from. This isn't too hard to achieve by simply copying the QVSource folder repeatedly and configuring each instance to run on a different port (a setting on the Advanced tab). Moving the authentication details to be part of the request URL in the QV script would make this work with a single instance of QVSource and this is something that has already been done with some of the connectors such as the Facebook Personal Connector. I'm sure its something they'll get round to implementing for all connectors at some point soon and will drop the guys an email to make sure I'm not overlooking an obvious solution.
Also, the QVSource application needs to be running in the background for QlikView to refresh the data. This is fine when using it with QV Desktop but when running in a server environment, QVSource needs to be able to recover if the server is rebooted or more importantly continue to run if the user logs out. There is however a relatively simple work around to this issue using the Windows Scheduler as you can read here. Maybe the future could bring a version which runs as a service with a web control panel as this would bring it inline with QVS architecture.
Conclusion
The power of being able to analyse social media and web traffic data is unquestionable for marketing companies and departments (possibly even for social recruiters). QVSource coupled with the power and ease of QlikView makes doing just that a very quick and simple task.Would I recommend it? Without a doubt!
Subscribe to:
Posts (Atom)