Qlik Sense 1.1 - Integration mit QlikView

Seit meinem letzten Blog-Eintrag ist Qlik Sense 1.1 erschienen. Einen guten Überblick über die neuen Layout-Features finden Sie am Qlik Design Blog. Unter der Haube haben sich aber noch viel mehr Dinge getan. 

Wir haben deswegen demo.heldendaten.net schnellstmöglich auf Qlik Sense 1.1 aktualisiert, und können jetzt  neben dem zentralen Einstiegspunkt "Qlik Portal" auch die elegante Integration von Qlik Sense in eine QlikView-Analyse demonstrieren. Wunsch unserer bestehenden QlikView-Kunden ist es, die Features&Vorteile von Qlik Sense ohne große Veränderungen und möglichst nahtlos an die Benutzern auszurollen, dabei aber trotzdem die Datenintegrität gewährleisten zu können. Sehen Sie im Video unterhalb wie das für Ihre Anwender aussehen kann:


 

Mehr Informationen finden Sie auf unserer Webseite! Zum selber ausprobieren empfiehlt sich der direkte Link zur Qlik Sense QlikView Integration.

demo.heldendaten.net - QlikSense and QlikView running together in an Amazon Cloud Instance

Wer in letzter Zeit demo.heldendaten.net besucht hat, dem ist vielleicht aufgefallen, dass QlikSense und QlikView sich nun eine gemeinsames Portal auf unserer Demoseite teilen. Für Details zur Installation und weiteren Erkenntnissen siehe den Artikel unterhalb - ausnahmsweise in Englisch!

1    Overview

QlikView Server 11.20SR9 and QlikSense Server 1.0.2 are not allowed to run both on the same machine.  As we want a single entry point http://demo.heldendaten.net on our Amazon EC2 Cloud Instance (and want to avoid the costs of running two separate machines), we came up with the following deployment scenario.

The result should be a website, where a user can both access QlikSense and QlikView in a unified way. With a simple tab menu the user can switch between QlikSense Hub and QlikView Accesspoint.

  

2    VMWare in Amazon Instance

2.1    VMWare in VMWare

As Amazon EC2 instances are virtual machines itself, it's not easily possible to run another virtual machine within the virtual machine.

As described here, there is a switch in the VMWare settings to run a nested virtual machine. As I found out, this seems to be only valid for 32-bit virtual machines. With this information it was clear to run QlikView within the 32-bit virtual machine, because QlikSense only supports 64bit environments and therefore needs to run directly in the Win2008 R2 64bit Amazon instance.

http://www.adminhorror.com/2011/09/installing-and-running-virtual-machine_302.html


2.2    VMWare Player

I installed different versions of VMware into the Amazon instance, but in the end I run the virtual machine via VMWare Player 6. That's not very elegant (virtual machine does not restart automatically when the Amazon instance reboots), but should be good enough for the demo environment.


3    QlikView Server

QlikView Server is a standard installation into the 32 bit virtual machine.  Below you find the modification that were done.

3.1    NAT Configuration

The virtual machine is configured to use NAT. From within the Amazon instance the virtual machine is reachable on 192.168.22.128


To make QlikView Accesspoint available on demo.heldendaten.net, follow these steps:
•    Open "Virtual Network Editor" on Amazon Instance
•    Add a "NAT Setting" to map port 80 to the virtual machine's port 80 on 192.168.22.128

3.2    Anonymous Access

To allow anonymous access on the QlikView Accesspoint portal, Session CALs are needed. Additionally the following settings were done to allow anonymous Access.

3.2.1    QlikView Server
In the QMC "Servers|Security" define "Allow anonymous"

3.2.2    QlikView Web Server
 In QMC "Web Servers" define "Authentication = Login"

3.2.3    NTFS file rights
Assign anonymous user "read" writes to public .qvws


4    QlikSense Configuration

The current QlikSense installation is a simple, single-node installation. The following configurations were done to allow anonymous (as well as authenticated) users in the environment.

4.1    Proxy Config

4.1.1    http access
As we don't have a SSL certificate available for demo.heldendaten.net, we allowed "http". This should never be done in a real world deployment, as critical data is send unsecured over the network. Port was changed to 8080. This was necessary to not overlap with the NAT-Port80 configuration of QlikView.




4.1.2    Allow Anoynmous Access
As demo.heldendaten.net should be accessible for everybody, anonymous access needs to be enabled.
4.1.3    Websocket white list
To allow websocket communication between the user's browser and QlikSense, we need to whitelist the websocket origin. Add "demo.heldendaten.net" here.

5    Unified QlikPortal

5.1    QlikPortal

To allow a "unified" portal for QlikSense and QlikView we used the following github project
https://github.com/seebach/it.QlikPortal/tree/master

Files are installed into the 32bit virtual machine C:\QlikViewSenseWebpage

Modify the index.htm and tab.htm to point to the correct addresses.

5.2    Mount Portal

To host the portal in the QlikView Webserver add the following empty root folder via QMC

The resulting QlikPortal on http://demo.heldendaten.net is shown below. The first tab shows the QlikSense hub, the second tab shows the Qlikview Accesspoint.


6    Amazon Security Group

To allow access to the QlikSense and QlikView services, one must add the following Firewall rules in the AWS-console:

Port 80 --> Access QlikView Accesspoint
Port 8080 --> Access QlikSense hub/QMC
Port 4248 --> Authentication Port for QlikSense (authenticated access)


7    QMC Setup

7.1    Licenses

User Access passes were assigned to 6 heavy users. 90 Tokens are assigned to anonymous users resulting to 900 access passes in 28 days.

7.2    Streams

7.2.1    heldendaten internal - only visible for authenticated user

The stream "heldendaten internal"  is only visible to our internal users. As no Active Directory is available on the amazon instance, we used Custom Properties to simulate group membership.

1) Create Custom Property "Company"


2) Assign the Custom Property to all relevant users


3) Define Stream security rule


4) This results in the following hub for a authenticated user.



7.2.2    Visualizations - accessible for everyone stream

1) The following rule was defined to make the stream visible for both anonymous and internal users.


2) Resulting in the following hub for any anonymous user


Qlik übernimmt Vizubi nPrinting - Formatvielfalt für Ihre Reports


Letzte Woche wurde in einer Pressemitteilung announced, dass Qlik den Anbieter Vizubi nPrinting übernommen hat. Es freut uns, dass unsere favorisierte Lösung in die Qlik-Familie aufgenommen wurde. Ab jetzt können wir unseren Kunden und Interessenten Qlik als alleinigen Ansprechpartner für die Produkte nennen, und freuen uns auf die weitere Integration von nPrinting in QlikView und QlikSense.


Wer nPrinting noch nicht kennt, findet die ersten Informationen auf der Qlik Product Seite hier.

Der Mehrwert den nPrinting zu den bestehenden QlikView-Reports bietet, ist die Format-Vielfalt mit den automatisierten Reports distribuiert werden können:  Bisher war der QlikView Publisher diesbezüglich auf .qvws und .pdfs limitiert.

Mit nPrinting können Templates in PowerPoint, Excel, und Word genutzt werden, um QlikView-Inhalte automatisiert an die Empfänger zu verteilen. Neben PDF und den Office-Formaten könne auch HTML-Reports generiert werden. Beispiele und eine Demo-Gallerie finden Sie momentan noch direkt auf der Vizubi Report Contest Gallery.

http://www.vizubi.com/report-contest-gallery/
nPrinting Report Contest Gallery

Wenn Sie Interesse, Lust auf eine Demo oder Fragen zu Ihrer bestehenden QlikView Publisher PDF-Distribution Lizenz haben, treten Sie gerne mit uns in Kontakt.





QlikView 11.20 SR10 - Pie Chart Feature "Sector Outline"

Welcher Charttyp wann sinnvoll ist, ist am neuen QlikView Blog in diesem PDF beschrieben. Das ein Kreisdiagramm sich vor allem für ein "simple share of total" eignet, ist dem kritischen Daten-Visualisierer schon länger bewusst, ansonsten ist ein Besuch auf "Evil Pies" empfohlen:

The only real pie!

Die Release Notes von QlikView 11.20 SR10 beschreiben ein neues Feature bei Kreisdiagrammen, welches uns die Pie-Charts ein wenig "smoother" wirken lässt:

Während in SR9 und davor die Kreissegmente immer eine harte,schwarze Linie waren, kann man jetzt unter "Farben">"Sector outline" eine andere Farbe definieren. Siehe zweites und drittes Diagramm im Screenshot unterhalb.




Die .qvw gibt es hier, und setzt einen QlikView 11.20SR10 Developer voraus. Ein Klick auf ein Land in der Chart-Legende hebt es gelb hervor. Das funktioniert ähnlich wie das Brush&Link-Beispiel in diesem alten Blogeintrag.

Zum Jahreswechsel: Achtung bei Kalenderwochen-Analysen!

Wer sich über die schlechten Umsätze in der ersten Kalenderwoche 2015 wundert, kann das den günstig gefallenen Fenstertagen (oder wie man in Deutschland sagt: "Brückentage") zuschreiben. Man sollte aber auch einen Blick auf sein QlikView-Skript werfen!

Hat man in seinem Masterkalender die unscheinbare Skriptzeile

    Week(Datumsfeld)&'-'&Year(Datumsfeld) AS [Eindeutige Woche]

definiert, dann hat die erste Kalenderwoche 2015 nur 4 Tage. Der Grund: Die KW 1 2015 geht von 29.12.2014 bis 04.01.2015. Drei Tage des Jahres 2014 gehören also in die erste Kalenderwoche von 2015. Definiert ist diese ganze Kalenderwochenlogik in der ISO8601, und - wie man hier nachlesen kann - prinzipiell verhält sich QlikView auch nach diesem Standard.


Das Problem

Anbei ein anschauliches Beispiel: wir arbeiten für ein Unternehmen, dass an jedem Kalendertag genau 100 EUR Umsatz macht.  Entsprechend würden wir auch erwarten, dass in jeder Kalenderwoche genau 700 EUR Umsatz aufsummiert werden können.

Unser Datentopf: jeden Tag 100 EUR Umsatz macht eine hübsche Gerade

Benutzen wir die oben erwähnte Formel für die Kalenderwoche, sehen wir aber, dass in den letzten Jahren einige Wochen mit 800  EUR (also 8 Tagen), und dieses Jahr die KW 1 mit nur 400 EUR (also nur 4 Tagen) existiert.


Der Grund wird klar, wenn man sich die Datumswerte zum Jahreswechsel ansieht. Die Tage 29. bis 31.12.2014 werden von der week()-Funktion nach ISO8601 in die KW1 gesetzt, aber da die Year()-Funktion das Kalenderjahr nimmt, landen diese 3 Datensätze fälschlicherweise in der Kalenderwoche "1-2014".

1-2014 ist die falsche KW für diese 3 Tage

 

Die Weekyear() - Funktion

Um das Problem zu lösen, bietet sich die Funktion weekyear() an, die genau diese Ungereimtheiten löst und für die drei Tage das Jahr der Kalenderwoche liefert.

Week(Datumsfeld)&'-'&WeekYear(Datumsfeld) AS [Eindeutige Woche]

Weekyear() schiebt die 3 Tage ins Jahr 2015

Entsprechend sieht das Chart dann auch wie ursprünglich erwartet aus: jede Woche hat 700 EUR Umsatz, weil jede Woche aus 7 Tagen besteht.


Wer bisher schon die Weekname ()- Funktion benutzt hat, war auf der sicheren Seite. Nur das Format "YYYY/WW" ist nicht jedermanns Sache. Um also ein frei formatierbares Wochenfeld zu haben, dass sich auch gut numerisch sortieren lässt, schlagen wir folgende Felddefinition vor:

dual(
     Week(Datumsfeld)&'-'&WeekYear(Datumsfeld),
     num(weekname(Datumsfeld))
)
AS [Eindeutige Woche]

Das komplette Beispiel findet sich hier!








heldendaten GmbH,2020