<img src="https://track.adform.net/Serving/TrackPoint/?pm=268420" width="1" height="1" alt="">

QlikView tape recorder functionality

3 min. læsetid
13. marts 2013 Skrevet af: Henrik Matz Del med en ven     

Try to visualize your old tape recorder. If you are old enough, you might remember the forward button and the rewind button. These buttons made it possible for you to go forwards and backwards in the data on the tape.
Imaging if this is possible in QlikView.

It is!

Screen shot 2013-03-13 at 9.22.28 AM

I sometimes see QlikView sheets, where you have to select a dimension attribute and then see all details about the attribute. This could for example be a customer sheet, where it is mandatory to select only one customer and then see all sales details about the customer.

Here the functionality of the tape recorder would be optimal, so that we can move easily from the best performing customer to the worst. Forward or rewind with one simple click, like this:

Screen shot 2013-03-13 at 9.24.27 AM

When I first was asked to check the availability in QlikView for a functionality function like this, it seemed simple to solve. I must admit, that this challenge took me some hours to solve, but every minute was well spent. The result is very powerful, and today the tape recorder functionality is one of my absolute favorites.

Here is what you need to implement the tape recorder functionality in your QlikView document:
- The rank function to sort out the customer by for example sales amount
- Alternates states because the rank function does not support set analysis, so your calculation of the first, next and previous record has to be done in a separate state.
- Variable to hold the current rank number.
- Trigger on any select to calculate the current rank based on the current selection.
- Macro to select the attribute value from a calculation in a textbox.

Besides the very simple VB macro, everything is standard QlikView 11 functionality, and works in Ajax and on mobile devices.

You can download the qvw-file her, and see if you are able to make it work in your applications: