I work with QlikView, which provides the leading Business Intelligence solutions QlikView and Qlik Sense.  These are terrific products, but they currently only run on Windows.  However, it is possible to run them on a Mac using VmWare Fusion or another virtual machine.

Recommended hardware

I use a MacBook Pro with 16GB of RAM, which makes for a great development system.  I also use a 500 GB SSD disk.  This combination is very fast and has high performance.  It is important for QlikView, which is an in-memory product.

I do not recommend anything less than 8 GB of RAM.  QlikView shines with a lot of memory, and you want to spend your time solving problems, not waiting for it to do its work.

Strategy

We will configure the Mac to be capable of either of:

  1. Booting into Windows directly.  In this mode, you will be using all the RAM and other resources of your Mac.  Use this mode when you have very large data sets and need to use every ounce of performance you can get.
  2. Optional: Running Windows and QlikView using VmWare Fusion.  In this mode, you will be running both Mac OS X and Windows at the same time.  Performance will be acceptable for 80% – 90% of ordinary QlikView development.  You will find that QlikView will start to slow down when working with very large data sets.  However, you will be able to use Mac OS X and your Mac software at the same time.

Preparation

Obtain a copy of Windows 7 or Windows 8.  At the time of this post, it is very difficult to find a legitimate licensed copy of Windows 7.  If unsuccessful, you can buy and download Windows 8 from the Microsoft Store.  I recommend buying the download version of Windows 8.1 Professional.

Procedure

  1. Boot your Mac into OS X.
  2. Partition the Mac’s hard drive with Boot Camp Assistant using Apple’s instructions.  Install Windows 8.1 Professional.
  3. Make sure to activate your copy of Windows.
  4. Make sure to download and install all Windows updates, making as many reboots as necessary.  You should plan that this will take at least a few hours, although you can do other things in the meantime.
  5. Recommended: Visit ninite.com and download the excellent Ninite installer.  This will allow you to download, install, and later update several Windows applications with one click.  I have found the following applications relevant and useful for QlikView development:
    • Chrome, Firefox, WinDirStat, Classic Start, Notepad++, WinMerge, 7-Zip, Foxit Reader, Everything (a search app)
  6. Install QlikView Desktop Client and Qlik Sense.
  7. Install any other Windows-only applications that you desire.

Running Windows and QlikView in a virtual machine

  1. Reboot into Mac OS X.
  2. Buy and download VmWare Fusion.  A 30-day trial version is available.
  3. Follow these instructions to have VmWare Fusion recognize and run your Bootcamp partition.
  4. Tweak the settings for the virtual machine.  Everybody’s preferences are different, and you may have to experiment to find out what works optimally for your hardware.  These are the settings that I use:
    • Sharing > Shared Folders = Off
    • Processors and Memory:  I use only 1 processor core and 6144 MB of RAM.
    • Take a look at the other settings, e.g Printers and change them to match your working environment.
  5. Start the VmWare Fusion virtual machine and test it.
  6. It is likely that you will be prompted to activate Windows with Microsoft a second time.  This is normal and should be necessary only once.

Caveats

If you need maximum performance and full usage of RAM, restart Mac OS and reboot into Windows.

To minimize problems, make a practice of shutting down Windows cleanly, especially if you are switching between the virtual machine and booting up Windows directly.

 

28. February 2014 · Write a comment · Categories: QlikView · Tags:

I recently had occasion to conduct a QlikView training class and used QlikView 11 for Developers very effectively as a training tool.

Barry Harmsen and Miguel García are the authors of the well regarded book QlikView 11 for Developers. They have also produced companion PowerPoint training materials.

I had 5 attendees, all new to QlikView. I put together 16 hours of hands-on training, focused mostly on the Designer chapters, with some scripting.  The PowerPoint training materials helped me to plan the course and decide how much I could reasonably tackle with the constraint of 16 hours.  The authors estimate that it would take about 40 hours to cover all topics in their book and materials, and I think that they are correct.

During the class, I emphasized the hands-on exercises in the book and used the PowerPoint materials as a supplement to explain key points of the material. I provided each attendee with a copy of the book, and they were very pleased with it, and with the step-by-step approach described in the pages. I also used the PowerPoint materials for a couple of chapters where we didn’t have time to do the hands-on exercises, but wanted to give the attendees some background information.

This combined approach seemed to work well.  The class followed along very well through all the hands-on exercises, and I feel confident that they have the foundation to proceed with QlikView design and development.

In my training survey, I posed this question:

The materials provided in this training were useful tools in understanding QlikView design

Responses
Strongly-agree Agree Average
4 1 4.8

Subsequent to the class, I have provided the attendees with some help and it has been very useful to refer them to their copy of the book so that they can better understand and try out some capability of QlikView.

Kudos to Barry and Miguel for an excellent book that serves as a great learning tool and reference.

Janelle Estes has an interesting article Seamlessness in the Cross-Channel User Experience describing how to support users as they start, work on and complete a task across multiple “channels”, such as a desktop, mobile app, the digital world and the real world.

She provides helpful examples of companies that support this experience well, including Home Depot, where a user interested in a particular product can:

  • Search for it on the Home Depot website.
  • After selecting a particular model, find a local store that has it in stock
  • Request an email with that information
  • Upon arriving at the store, use a mobile phone to read the email, and find the aisle number and quantity in stock.

The article is well worth reading and has implications for the BI space as well. A well designed dashboard might:

  • Allow users and analysts to perform discovery about their daily job, e.g. find accounts receivable that are overdue
  • Upon drilling down to a particular customer with an overdue account, view an actionable display that includes:
    • Customer contact information
    • Details about the overdue invoices, sufficient for the customer to track them down
    • Invoice age bucket information
  • This information could be produced in a form compact enough to be emailed to the customer with a note.

I can imagine any number of such task-oriented dashboards that improve focus, clarity, productivity and effectiveness.  A key phrase to use might be actionable dashboard.

 

28. July 2013 · 1 comment · Categories: QlikView · Tags: , ,

Q-Eye is a third-party QlikView data file editor built by DB Software Laboratory.  It’s an interesting product that allows a QlikView designer or developer to view or edit the QVD and QVX files that are produced during the QlikView development and build process.

DB made a bleg for someone to test the 64-bit version and produce some memory consumption statistics.  I downloaded the software and tested it and also reviewed it for my own use.

Summary

Q-Eye definitely has a place in the toolbox of every QlikView developer and designer.  In my development lifecycle, I use it to:

  • Inspect the contents of QVD files that I am about to use.
  • During the execution of a load script, I store the contents of intermediate memory tables into QVDs and can then inspect them using Q-Eye.  This is very helpful for troubleshooting and debugging.

You should download it while it is still free!

Room for improvement

Q-Eye certainly has a few rough edges and I understand that the development team is looking for feedback for improvement.  Here is mine:

Enhancements requested

1) Q-Eye is slow at opening very large files (see the Performance Statistics below).  It needs to become faster.

2) Need to be able to drag and drop QVD files from Windows Explorer into the Q-Eye window.

3) Windows Explorer’s right-click Open With shortcut needs to have Q-Eye registered as a target for QVD files.

4) When you first open a QVD with Q-Eye, it loads only the first thousand rows.  This is not intuitively done, particularly for a new user, who eventually figures out that he must click on the Load All button.  It would nice to make this more obvious somehow, perhaps with a popup that appears over the Load All button once the initial load is complete.

5) The user needs the ability to tell Q-Eye that certain columns are dates or timestamps. Otherwise, they display the raw number.  Even better would be to examine the content and if it is a floating point number in the date range, display it as a date.

6) The search feature should have the option to search for Null values in a field, as well as any non-Null value.

7) Like most Windows apps, double-clicking on the border of a column should auto-size it.

8) When loading very large files, the progress bar shows the % complete as white letters on a light green background which is hard to see.

Bug fixes requested

1) After a file is open in a tab, Clicking on the Close X button for a tab does not close it. It seems to close only tabs without files in them. I had to exit Q-Eye altogether to close an open QVD

2) The auto format Grid feature greatly oversizes text fields. It looks like it is not actually sampling the content.

3) The menu item Help > Contactl Support has a typo (Contactl)

Performance Statistics

Version tested: Q-Eye 3.1.0.0 64-bit

Environment: MacBook Pro booted into Windows 7. This laptop is a high performance system with 4 cores and 16 GB of RAM with an internal flash drive.

Since a picture is worth a thousand words, here are charts of the QVD Load time and Memory Consumption for Q-Eye and QlikView vs. the QVD file size.

Q-Eye Review QVD Load Time

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Q-Eye Review Memory Consumption

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

As you can see, the load speed and memory consumption of Q-Eye got progressively worse as the file size increased.  However, Q-Eye still loaded even the largest file fully and was able to display its contents.

Conclusion:  Q-Eye is definitely useful for inspecting small QVD files and is still usable for opening very large QVD files.

The raw statistics are here:

Test QVD size (MB) Rows (M) Columns Q-Eye Load Time (mins:secs) Memory Commit Size (GB) QlikView load time (mins:secs) Memory Commit Size (GB)
1 737 30.6 7 16:27 6.9 0:21 2.5
2 1100 49.7 9 26:47 10.5 0:33 5.7
3 5500 40.6 53 36:31 34.7 1:34 12.3

 

If you’re interested in visualization, check out this very cool TED talk by Hans Rosling, accompanied by interesting visualizations.

The software being used is called Trendalyzer.  Wikipedia summarizes its principal features well:

The information visualization technique used by Trendalyzer is an interactive bubble chart. By default it shows five variables: Two numeric variables on the X and Y axes, bubble size and colour, and a time variable that may be manipulated with a slider. The software uses brushing and linking techniques for displaying the numeric value of a highlighted country.

Trendalyzer appears to not be available for general purpose use.  It seems to be bundled along with world health, mortality and other developmental index data.  It would be interesting to see its time dimension features incorporated into other BI visualization products like QlikView or Tableau.