Veröffentlicht von       Stefan Okle

#3 Reichweiten-Potenzial mit Qlik GeoAnalytics

In diesem Beitrag zeige ich Ihnen, wie Sie in Qlik GeoAnalytics das Potenzial bezüglich Erreichbarkeit von Verkaufsstellen visualisieren. Um Fragen zu beantworten wie: Wie viele Personen erreichen eine Verkaufsstelle in einem bestimmten Zeitraum? Bei der Identifizierung eines neues Standortes sind solche Informationen von entscheidender Bedeutung. Mit dem Addon "GeoAnalytics" zu Qlik Sense und QlikView ist diese Information in nur wenigen Schritten zu gewinnen.

 

 Worum geht es?

Dies ist der zweite Schritt (von insgesamt drei) , welcher auf der Berechnung einer 30-minütigen Reichweite von jeder Verkaufsstelle, aufbaut. Nach diesem Beitrag folgt noch ein weiterer, in welchem wir als Abschluss Cluster für das nicht bereits 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!

 Potenzialberechnung mit Qlik GeoAnalytics: Was wird benötigt?

Um eine Potenzialberechnung mit Qlik GeoAnalytics durchzuführen, benötigen wir im Vorfeld berechnete Reichweiten. Wie man dazu kommt können sie hier nachlesen. Wir werden in diesem Artikel weiterhin auf GeoAnalytics Funktionen zugreifen, weshalb mindestens enie Testlizenz sowie die GeoAnalytics Objekte (aktuell noch: Extensions) für QlikView und Qlik Sense benötigt werden.

Laden der Einwohnerzahlen

Zuerst müssen wir wissen, wieviele Personen in einem gewissen Bereich wohnhaft sind. Hierzu bedienen wir uns einer Altersstatistik vom Bundesamt für Statistik in der Schweiz.

 

Altersstatistik:
LOAD
trim(Ort) as Wohnort, Anzahl/1000000 as Anzahl, Alter, Geschlecht
FROM [lib://QCircle/Altersstatistik.xlsx] (ooxml, embedded labels, table is TB04_20170613_161154);

Verwenden der Funktion "Within" von Geo Analytics

Um das Potenzial zu berechnen, müssen wir zuerst herausfinden, welche Wohnorte bereits in den zuvor berechneten TravelAreas eingeschlossen sind. Das bedeutet Wohnorte die innerhalb von 30-minuten von den jeweiligen Verkaufsstellen, erreicht werden können. Wir nutzen dazu die Funktion "Within" von Geo Analytics, welche diese Berechnungen für uns vornimmt. Sie finden diese Option in der bereits erstellten Datenverbindung.

 

Geo Analytics Within

 

 

Der Assistent benötigt folgende Angaben:

Dataset to test within on: Orte welche auf "Einschluss" untersucht werden sollen
Area dataset: "Area" welche die Orte einschliessen soll

 

Der Wizard liefert uns auch hier ein fertiges Skript, welches wir nur leicht auf unsere bisherigen Daten anpassen müssen. In unserem Fall haben wir Feldnamen angepasst:

 

/* Generated by Idevio GeoAnalytics for operation Within ---------------------- */
[Altersstatistik_Distinct_Temp]:
LOAD distinct [Wohnort] AS tmpField_0 resident Altersstatistik;

Let [EnclosedInlineTable] = 'Wohnort';
Let numRows = NoOfRows('Altersstatistik_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'
row = row & Chr(9) & Replace(Replace(Replace(Replace(Replace(Replace(Peek('$(f)', $(rowNr), 'Altersstatistik_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
[EnclosedInlineTable] = [EnclosedInlineTable] & chunkText;
Next
chunkText=''

DROP tables [Altersstatistik_Distinct_Temp];

[Verkaufsstellen_Distinct_Temp]:
LOAD distinct [Verkaufsstelle] AS tmpField_0, [area30] AS tmpField_1 resident Verkaufsstellen;

Let [EnclosingInlineTable] = 'Verkaufsstelle' & Chr(9) & 'area30';
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'
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
[EnclosingInlineTable] = [EnclosingInlineTable] & chunkText;
Next
chunkText=''
DROP tables [Verkaufsstellen_Distinct_Temp];

[Enclosed_30]:
SQL SELECT [Wohnort] as Wohnort_30, Verkaufsstelle FROM Within(enclosed='Enclosed', enclosing='Enclosing')
DATASOURCE Enclosed INLINE tableName='Altersstatistik', tableFields='Wohnort,Wohnort', geometryType='LOCATIONNAMEDPOINT', loadDistinct='YES', suffix='CH', crs='Auto' {$(EnclosedInlineTable)}
DATASOURCE Enclosing INLINE tableName='Verkaufsstellen', tableFields='Verkaufsstelle,area30', geometryType='POLYGON', loadDistinct='YES', suffix='CH', crs='Auto' {$(EnclosingInlineTable)};

 

Wurde das Skript erfolgreich geladen, können wir die neu generierten Felder an der Oberfläche verwenden.

Erstellen der Oberfläche

Zur Darstellung des Potenzials je Verkaufsstelle nutzen wir ein Balkendiagramm.
Als Dimension wählen wir die Verkaufsstelle und als Formel Sum(Anzahl).
Durch die Berechnungen von Geo Analytics im Skript, ist bereits jeder Verkaufsstelle ein Potenzial in Form des Feldes "Anzahl" zugewiesen.

 

Wenn alles geklappt hat, werden wie auf dem nachfolgenden Bild, die Verkaufsstellen mit deren Potenzial als Balken dargestellt.

 

 

 Potenzialberechnung Geo Analytics

 

Wie geht es weiter?

Bis jetzt haben wir die Reichweiten, sowie eingeschlossene Wohnorte und deren Potenziale errechnet.
Nachfolgend erweitern wir die bestehende Auswertung um eine Clusterberechnung: Indem wir die bereits berechneten TravelAreas, sowie eingeschlossenen und ausgeschlossenen Orte weiter nutzen und einen Standort für eine neue potenzielle Verkaufsstelle ermitteln. Dies in einem separaten Beitrag. Ich freue mich auf Ihren Besuch!

Stefan Okle

Stefan Okle

Stefan Okle ist Wirtschaftsinformatiker und ein passionierter Analytics Berater mit einer über 10-jährigen BI-Erfahrung. Sein ausgeprägtes Gefühl für Kundenbedürfnisse sowie seine grosse Begeisterung zur besten Lösung befähigen ihn, mit Leichtigkeit die jeweils gesetzten Ziele zu erreichen.

VERWANDTE BEITRAGE