Zu Hauptinhalt springen

Qlik Sense GeoOperations

Qlik Sense GeoOperations ermöglicht geografische Berechnungen und Funktionen wie beispielsweise die Berechnung von Routen oder Reisegebieten. Dadurch können auch geografische Daten aus vielen verschiedenen Datenquellen geladen werden. Mit Qlik Sense GeoOperations können Sie geografische Probleme mit Ihren Daten lösen, wie beispielsweise:

  • Ermitteln, wie viele Kunden in einem Radius mit einer Fahrzeit von 15 Minuten vom Geschäftsstandort entfernt leben
  • Verknüpfen von GPS-Positionen mit Veranstaltungsorten, Regionen oder Straßennetzen
  • Erstellen von benutzerdefinierten Vertriebsgebieten aus einer Liste mit Gemeindeverbänden
  • Ermitteln des nächsten Krankenhauses für eine Liste mit Patienten

GeoOperations-Funktionen stehen in Skripten sowohl für das Datenladeskript als auch in Visualisierungsformeln zur Verfügung. GeoOperations-Funktionen können jeweils Daten implizit laden. GeoOperations-Funktionen können zur Umwandlung von geografischen Daten oder zur Durchführung von Berechnungen verwendet werden.

InformationshinweisEin Anwendungsbeispiel zu GeoOperations finden Sie unter GeoOperations-Beispiel.

Funktionen

  • In der Skriptsprache in Qlik Sense SaaS verfügbar.

  • Extrahiert räumliche Beziehungen, sodass sie von Qlik verarbeitet werden können.
  • Ladezeitsuchen von Standorten (als Alternative zu Präsentationszeitsuchen im Kartendiagramm).
  • Aggregierung von Punkten in Clustern oder Klassen.
  • Spezifizieren Sie Standorte als:
    • Punkt-, Linien- oder Flächengeometrien im selben Format wie QlikGeoAnalytics und Qlik Sense
    • Felder für Längen- und Breitengrad
    • Benannte Punkte oder Flächen
  • Laden Sie geografische Daten aus einem Bereich von Eingabe-Formaten.
  • Verwenden Sie Operationen für Daten, die bereits in Qlik geladen wurden.

So funktioniert GeoOperations

 

Bei Qlik Sense GeoOperations wird ein Skript und optional eine Tabelle an die GeoOperations-Erweiterung im Ladeskript übermittelt. Die serverseitige Erweiterung gibt dann die Daten zurück. GeoOperations stellt ein Objekt der Integration erweiterter Analysefunktionen namens „GeoOperations“ in der Skriptsprache zur Verfügung, die die Funktion ScriptEval für die Übermittlung des Skripts und der Tabelle an die Erweiterung bereitstellt. Beispielsweise ist im Folgenden das Ladeskript für die Anwendung der Operation TravelAreas auf die vorher geladene Tabelle MyPoints (Meine Punkte) und die Angabe von Parametern für die Größe/Kosten des Reisegebiets aufgeführt:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

 

Das Skript wird als erster Parameter an ScriptEval und die Tabelle als zweiter Parameter übermittelt.

Die GeoOperations sind Funktionen, die für Datensätze verwendet werden. Die Datensätze stammen entweder aus Daten, die in Qlik Sense geladen werden, oder aus externen Quellen wie geografischen Dateien oder dem Standortdienst. Die aus dem Skript übermittelten Daten stehen als Datensatz namens INTABLE zur Verfügung. Falls Sie zusätzliche Parameter für diese Daten angeben möchten, müssen Sie sie nach dem Funktionsaufruf als DATASOURCE deklarieren. Hier ein Beispiel:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

Andere Datenquellen müssen immer deklariert und Parameter wie beispielsweise URLs müssen angegeben werden. Bei jeder Operation können Sie die zu verwendenden Datenquellen angeben. Standardmäßig verwenden Operationen die verfügbaren Datensätze, die für die einzelnen Operationen in Operation (nur auf Englisch) beschrieben sind.

Einsatzgebiete von GeoOperations

Alle Operationen können im Datenladeskript verwendet werden. Bestimmte Operationen können auch in Formeln in Diagrammskripten für Karten verwendet werden, um dynamische Berechnungen zu ermöglichen. Die Operation wird bei jeder Änderung der Auswahl durchgeführt. Daten fließen nicht in das Datenmodell ein, wenn GeoOperations in Diagrammen verwendet werden. Damit wird eine weitere Analyse dieser Daten verhindert.

Auswählen und Umbenennen von GeoOperations-Feldern

GeoOperations-Funktionen geben Felder zurück. Standardmäßig werden alle Felder zurückgegeben und berücksichtigt. Sie können GeoOperations-Funktionen eine SELECT-Anweisung voranstellen, um bestimmte Felder, an denen Sie interessiert sind, auszuwählen und optional umzubenennen. Beispielsweise verwendet dieses Skript SELECT, um nur zwei der Postleitzahlenfelder aus dem Standortdienst zu laden:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

Die Verwendung eines SELECT-Befehls im GeoOperations-Skript kann effizienter sein, als Felder im Qlik LOAD-Befehl anzugeben, da die Daten nicht in Qlik Sense geladen werden, wenn sie nicht im GeoOperations-Skript ausgewählt sind.

SELECT kann verwendet werden, wenn einige Felder nicht berechnet werden sollen. Dazu geben Sie an, dass sie nicht in den Ergebnissen erscheinen sollen. Zum Beispiel können relative Überlappungsfelder, die von Intersects zurückgegeben werden, ausgeschlossen werden.

Informationshinweis

Falls Sie dieselbe Operation mehrmals in Ihrem Ladeskript verwenden, verwenden Sie einen SELECT-Befehl, um die Felder umzubenennen.

Beschränkungen

Die folgenden Beschränkungen gelten für die Maximalgröße für Datensätze:

  • Max. Anzahl an Zeilen: 50,000
  • Max. Datensatzgröße im Speicher: 150 MB
  • Max. Zeilen mit Routing: 400
  • Max. Anzahl an Zeilen mit Namenssuchen: 20,000

Einige Operationen unterstützen das Streaming von Daten aus der Qlik Engine. Aus der Qlik-Engine gestreamte Datenmengen können größer ausfallen, es gilt aber nach wie vor die Größenbeschränkung für das Routing.

Skript-Syntax

Das Skript, das an GeoOperations übermittelt werden kann, hat folgende Syntax:

1. Vorgang

Die einfachste Form eines Skripts führt einen Vorgang durch.

Syntax:  

Operation(paramName="paramValue", ...)

Beispiel:  

Cluster(distance="100000")

 

Weitere Informationen finden Sie in der Liste der Vorgänge und ihrer Parameter.

2. Datensatz

Der zweite Schritt besteht darin, einen Datensatz zu laden, auf den Ihre gewählten Vorgänge angewendet werden.

Syntax:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

Beispiel:  

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

Weitere Informationen finden Sie in der Liste der Datensätze und ihrer Parameter.

3. Zusammenfügen

So sieht das vollständige Skript im Dateneditor aus:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

In diesem Beispiel kann „MyTable“ jede beliebige geladene Tabelle mit Punkten, Linien, benannten Gebieten oder anderen geografischen Daten sein.

4. Felder filtern

Durch die folgenden Hinzufügungen können die Ergebnisse des Vorgangs weiter gefiltert werden.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

Bei Parameternamen und Feldnamen wird zwischen Groß- und Kleinschreibung unterschieden, für Operationen, Parameteroptionen (wie meters, minutes, car usw.) oder Schlüsselwörter wie SELECT und FROM gilt dies jedoch nicht.