Zu Hauptinhalt springen

Qlik Sense GeoOperations

Qlik Sense GeoOperations ermöglichen geografische Berechnungen und Funktionen wie beispielsweise die Berechnung von Routen oder Reisegebieten. Dadurch können auch geografische Daten aus GeoJSON- und ESRI-Shapefiles geladen werden.

Nicht verfügbar in:Qlik Sense Enterprise SaaS - Government (US) unterstützt Qlik Sense GeoOperations nicht.

Qlik Sense GeoOperations ist für Qlik Cloud Services verfügbar.

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. Durch GeoOperations-Funktionen können geografische Datensätze aus externen Dateien oder aus dem Qlik GeoAnalytics-Standortdienst geladen werden. GeoOperations-Funktionen können zur Umwandlung von geografischen Daten oder zur Durchführung von Berechnungen verwendet werden.

Hinweis: Ein Anwendungsbeispiel zu GeoOperations finden Sie unter GeoOperations-Beispiel.

So funktioniert GeoOperations

Bei Qlik Sense GeoOperations werden kleine Skriptabschnitte und optional eine Tabelle an die GeoOperations-Erweiterung im Ladeskript übermittelt. Die 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 Typen von 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 diese, um die verfügbaren Datensätze aufzunehmen.

Einsatzgebiete von GeoOperations

Alle Operationen können im Datenladeskript verwendet werden. Bestimmte Operationen können in Diagrammskripten auch 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 einen SELECT-Befehl voranstellen, um bestimmte Felder, an denen Sie interessiert sind, sowohl auszuwählen als auch 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.

Hinweis:

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.

Syntax:  

script ::= [ SELECT (* | select_field,...) FROM ] operation ( [parameter,...] ) {datasource_declaration}

select_field ::= field_name [ AS alias_name ]

parameter ::= parameter_name = "parameter_value"

datasource_declaration ::= DATASOURCE datasource_name datasource_type [parameter,...]

  • field_name : Name eines Felds in der zurückgegebenen Tabelle, der optional in [] eingeschlossen ist
  • alias_name: Name, in den ein Feld umbenannt werden soll und der optional in [] eingeschlossen ist
  • operation : eine der Operationen unter „Operation“
  • parameter_name: Name des Parameters für die Operation
  • parameter_value: Wert des Parameters (immer in doppelte Anführungszeichen eingeschlossen)
  • datasource_name : Name, den diese Datenquelle haben sollte, falls sie in den Operationsparametern referenziert wird
  • datasource_type: einer der Datensätze unter „Dataset“

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