Qlik GeoAnalytics ermöglicht es, dynamische Reichweitenberechnungen basierend auf Standortdaten durchzuführen. Dies ist besonders nützlich, wenn es bspw. darum geht herauszufinden, welches Einzugsgebiet bestimmte Verkaufsstellen haben. In diesem Beispiel berechnen wir die Reichweiten, welche mit einem Fahrzeug innerhalb 30 Minuten erreicht werden können.
In diesem Artikel und dem zugehörigen Erklärungsvideo zeigen wir Ihnen, wie Sie Ihr QlikView selbständig neu lizenzieren und wie Sie die bestehende Lizenz aktualisieren. Ob Ihr Server direkt mit dem Internet verbunden ist oder nicht, spielt dabei keine Rolle. Im Video und Artikel werden beide Szenarien ausführlich besprochen.
Worum geht es?
In diesem Beitrag zeige ich Ihnen, wie Sie in Qlik GeoAnalytics eine 30-minütige Reichweite in Abhängigkeit von Verkaufsstellen visualisieren. Dies ist der erste Schritt (von insgesamt drei), um den in diesem Beitrag erwähnten Anwendungsfall "Cluster-Analyse mit Reichweitensteuerung unter Berücksichtigung von Einzugsgebiet und Einwohneranzahl" abzubilden. Nach diesem Beitrag folgen also noch weitere zwei, in welchen wir eine Potenzialanalyse basierend auf Einwohneranzahlen für die in diesem Beitrag errechnete Reichweite umsetzen und als Abschluss Cluster für das nicht eingeschlossene Gebiet berechnen. Das Ergebnis ermöglicht dem Beispielunternehmen, potenzielle neue Standorte basierend auf Reichweite, potenziellen Einwohnern im Gebiet und Einzugsgebiet (km)zu ermitteln.
Zudem werden wir Ihnen für die einzelnen Schritte die Unterlagen und mit dem letzten Beitrag die fixfertige Qlik Sense App zum Download zur Verfügung stellen. Es lohnt sich also, regelmässig hier vorbei zu schauen!
Reichweitenberechnung mit Qlik GeoAnalytics: Was wird benötigt?
Um wie im obigen Bild die Reichweiten darzustellen (farbige Flächen), werden lediglich die Ortsnamen der jeweiligen Verkaufsstellen (blaue Vierecke) benötigt. Qlik GeoAnalytics berechnet automatisch die Reichweite der Verkaufsstellen im Hintergrund und visualisiert sie mittels farbigen Flächen. Zusätzlich benötigen wir die benötigten Software-Komponenten für Qlik GeoAnalytics, also mindestens eine Testlizenz sowie die Objekte (aktuell noch: Extensions) für QlikView und Qlik Sense.
Laden der Verkaufsstellen
Wir gehen davon aus, dass die Verkaufsstellen bspw. in einer Excel-Datei vorhanden sind. Hier laden wir den Namen der Verkaufsstelle, den Ort sowie die Postleitzahl.
Verkaufsstellen:
LOAD Verkaufsstelle, Ort, PLZ FROM [lib://QCircle/Verkaufsstellen.xlsx] (ooxml, embedded labels, table is Tabelle1);
Einrichten des Qlik GeoAnalytics Connectors und Berechnung der TravelAreas
Als nächstes wird der Qlik GeoAnalytics Connector benötigt. Hierzu legen wir eine neue Verbindung an: Vergeben Sie einen beliebigen, aber aussagekräftigen Namen für "Connection name". Hier habe ich "Geo" gewählt. Und stellen Sie sicher, dass bei "GeoAnalytics server" der Eintrag "http://ga.idevio.com" vorhanden ist. Dies ist der Geo-Server, den Qlik Sense für die Berechnungen kontaktiert.
Um die Reichweite zu berechnen wird die Funktion „TravelAreas“ des Qlik GeoAnalytics Connectors gewählt. Sie finden diese Option in den Eigenschaften der soeben erstellen Datenverbindung.
Erstellen Sie jetzt mit "Daten wählen" eine neue Aktion. Als Kontrolle finden Sie unten stehend das Skript, welches der Qlik GeoAnalytics Connector automatisch erstellen wird:
LIB CONNECT TO 'Geo';
/* Generated by Idevio GeoAnalytics for operation TravelAreas ---------------------- */
[Verkaufsstellen_Distinct_Temp]:
LOAD distinct [Verkaufsstelle] AS tmpField_0, [Latitude] AS tmpField_1, [Longitude] AS tmpField_2 resident Verkaufsstellen;
Let [TravelAreaInlineTable] = 'Verkaufsstelle' & Chr(9) & 'Latitude' & Chr(9) & 'Longitude';
Let numRows = NoOfRows('Verkaufsstellen_Distinct_Temp');
Let chunkSize = 1000;
Let chunks = numRows/chunkSize;
For n = 0 to chunks
Let chunkText = '';
Let chunk = n*chunkSize;
For i = 0 To chunkSize-1
Let row = '';
Let rowNr = chunk+i;
Exit for when rowNr >= numRows;
For Each f In 'tmpField_0', 'tmpField_1', 'tmpField_2'
row = row & Chr(9) & Replace(Replace(Replace(Replace(Replace(Replace(Peek('$(f)', $(rowNr), 'Verkaufsstellen_Distinct_Temp'), Chr(39), 'u0027'), Chr(34), 'u0022'), Chr(91), 'u005b'), Chr(47), 'u002f'), Chr(42), 'u002a'), Chr(59), 'u003b');
Next
chunkText = chunkText & Chr(10) & Mid('$(row)', 2);
Next
[TravelAreaInlineTable] = [TravelAreaInlineTable] & chunkText;
Next
chunkText=''
DROP tables [Verkaufsstellen_Distinct_Temp];
[area_30]:
SQL SELECT [Verkaufsstelle], [TravelArea_TravelArea] as area30 FROM TravelAreas(costValue='30', costField='', costUnit='Minutes', transportation='car', dataset='TravelArea')
DATASOURCE TravelArea INLINE tableName='Verkaufsstellen', tableFields='Verkaufsstelle,Latitude,Longitude', geometryType='POINTLATLON', loadDistinct='YES', suffix='', crs='Auto' {$(TravelAreaInlineTable)}
SELECT [Verkaufsstelle], [TravelArea_Geometry] FROM TravelArea;
Wurde das Skript erfolgreich geladen, können wir die neu generierten Felder an der Oberfläche verwenden.
Erstellen der Oberfläche
Verwendet wird das Qlik GeoAnalytics Map Objekt, sowie ein Bubble Layer- und Area Layer-Objekt zum Darstellen der Verkaufsstellen und TravelAreas auf der Karte. Diese Objekte wählen wir aus den GeoAnalytics Elementen aus und ziehen sie per Drag & Drop auf unsere Arbeitsfläche.
Sind alle Objekte (Map, Bubble-Layer- und Area Layer-Objekt) hinzugefügt worden, wird das Ergebnis direkt auf der Karte dargestellt.
Wie funktioniert das?
Um die Verkaufsstellen als blaue Vierecke darzustellen, gehen Sie so vor:
- - Erstellen Sie einen Bubble Layer
- Wählen Sie als ID das Feld, welches den Namen des Vierecks darstellen soll (Hier: Verkaufsstelle)
- In der Option "Location", wählen Sie ein Feld, welches den Standort auf der Karte auflöst (bspw. GeoKoordinaten, Ortsnamen, ganze Adressen)
- Im Farbmenü kann die Farbe der jeweiligen Vierecke nun angepasst werden - Um die Flächen einzufärben, gehen Sie so vor:
- Erstellen Sie einen Area Layer
- Wählen Sie als ID das Feld, welches den Namen des Vierecks darstellen soll (Hier: Verkaufsstelle)
- In der Option "Location ID", wählen Sie das von GeoAnalytics errechnet Feld "area30" für die Reichweite in 30 Minuten
- Im Farbmenü kann die Farbe der jeweiligen Vierecke nun angepasst werden
Wenn alles geklappt hat, werden wie auf dem nachfolgenden Bild, die Verkaufsstellen als blaue Vierecke dargestellt. Die eingefärbten Flächen zeigen die Reichweite je Verkaufsstelle, inkl. Überlappungen. Sie können nun in die Karte hineinzoomen um die Reichweitenberechnungen genauer zu analysieren.
Qlik GeoAnalytics TravelAreas mit Standorten
Wie weiter?
Bis jetzt haben wir die Reichweiten visualisiert. Im nächsten Artikel erweitern wir die bestehende Auswertung um eine Potenzialberechnung: Indem wir die bereits berechneten TravelAreas weiter nutzen und mit Einwohnerzahlen kombinieren. Dies in einem separaten Beitrag. Ich freue mich auf Ihren Besuch!