Accéder au contenu principal

Qlik Sense GeoOperations

Qlik Sense GeoOperations permet d'effectuer des calculs géographiques et d'utiliser des fonctions telles que le calcul d'itinéraires ou de zones de circulation. Permet également de charger des données géographiques depuis des fichiers de forme (Shapefiles) ESRI et GeoJSON.

Non disponible en :Qlik Sense Enterprise SaaS - Government (US) ne prend pas en charge Qlik Sense GeoOperations.

Qlik Sense GeoOperations est disponible sous forme d'intégration de l'analytique avancée avec Qlik Sense GeoAnalytics Qlik Cloud Services.

Qlik Sense GeoOperations permet de résoudre des problèmes géographiques avec les données, par exemple, d'effectuer les opérations suivantes :

  • Déterminer le nombre de clients qui vivent à 15 minutes en voiture de l'emplacement d'un magasin
  • Associer des positions GPS à des lieux, des régions ou des réseaux routiers
  • Créer des zones commerciales personnalisées à partir d'une liste de municipalités
  • Trouver l'hôpital le plus proche pour une liste de patients

Les fonctions GeoOperations sont disponibles dans le script pour le script de chargement de données et dans les expressions de visualisation. Les fonctions GeoOperations permettent d'accéder au chargement d'ensembles de données géographiques à partir de fichiers externes ou du service de localisation Qlik GeoAnalytics. Les fonctions GeoOperations permettent également de transformer des données géographiques ou d'effectuer des calculs.

Remarque: Pour savoir comment utiliser GeoOperations, voir Exemple GeoOperations.

Principe de fonctionnement de GeoOperations

Qlik Sense GeoOperations fonctionne en envoyant de petits morceaux de script et éventuellement une table à l'extension GeoOperations du script de chargement. L'extension renvoie ensuite les données. GeoOperations met à disposition un objet Intégration de l'analytique avancée appelé GeoOperations dans le langage de script, qui fournit la fonction ScriptEval pour envoyer le script et la table à l'extension. Par exemple, voici le script de chargement permettant d'appliquer l'opération TravelAreas à la table précédemment chargéeMyPoints et de spécifier les paramètres de taille/coût de la zone de circulation :

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

 

Le script est envoyé comme premier paramètre à ScriptEval et la table comme deuxième paramètre.

GeoOperations est un ensemble de fonctions qui s'appliquent aux ensembles de données. Les ensembles de données proviennent des données chargées dans Qlik Sense ou de sources externes telles que des fichiers géographiques ou le service de localisation. Les données envoyées du script sont disponibles sous forme d'ensemble de données nommé INTABLE. Si vous souhaitez spécifier des paramètres supplémentaires sur ces données, vous devez les déclarer après l'appel de la fonction sous forme de DATASOURCE. Par exemple :

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

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

 

Il convient toujours de déclarer d'autres types de sources de données et de spécifier des paramètres tels que des URL. Dans chaque opération, vous pouvez spécifier les sources de données à utiliser. Par défaut, les opérations utilisent cela pour sélectionner les ensembles de données disponibles.

Où utiliser GeoOperations

Toutes les opérations peuvent être utilisées dans le script de chargement de données. Certaines opérations peuvent également être utilisées dans des scripts de graphique pour cartes afin d'effectuer des calculs dynamiques. L'opération est exécutée à chaque changement de sélection. Lorsque GeoOperations est utilisé dans des graphiques, les données ne sont pas transmises au modèle de données, empêchant ainsi leur analyse plus poussée.

Sélection et renommage de champs GeoOperations

Les fonctions GeoOperations renvoient des champs. Par défaut, tous les champs sont renvoyés et inclus. Vous pouvez faire précéder les fonctions GeoOperations d'une instruction SELECT pour sélectionner et éventuellement renommer certains champs qui vous intéressent. Par exemple, ce script utilise SELECT pour charger uniquement deux des champs de code postal provenant du service de localisation :

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

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

 

L'utilisation d'une instruction SELECT dans le script GeoOperations peut s'avérer plus efficace que la spécification de champs dans l'instruction Qlik LOAD, car les données ne sont pas chargées dans Qlik Sense si elles ne sont pas sélectionnées dans le script GeoOperations.

SELECT peut être utilisé pour éviter de calculer certains champs en choisissant de ne pas les renvoyer dans les résultats. Par exemple, il est possible d'exclure les champs en chevauchement relatifs renvoyés par Intersects.

Remarque:

Si, dans votre script de chargement, vous utilisez plusieurs fois la même opération, utilisez une instruction SELECT pour renommer les champs.

Restrictions

Les restrictions suivantes s'appliquent à la taille maximale des ensembles de données :

  • Nombre maximal de lignes : 50 000
  • Taille d'ensemble de données maximale en mémoire : 150 Mo
  • Nombre maximal de lignes avec routage : 400
  • Nombre maximal de lignes avec recherches de nom : 20 000

Certaines opérations prennent en charge les données diffusées par Qlik Engine. Les données diffusées par Qlik Engine peuvent être plus volumineuses, mais la taille limite pour le routage continue de s'appliquer.

Syntaxe de script

La syntaxe du script à envoyer à GeoOperations est la suivante.

 

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 - nom d'un champ de la table renvoyée, éventuellement entre []
  • alias_name - nouveau nom d'un champ, éventuellement entre []
  • operation - l'une des opérations de Operation
  • parameter_name - nom du paramètre de l'opération
  • parameter_value - valeur du paramètre (toujours entre guillemets doubles)
  • datasource_name - nom que doit porter cette source de données si elle est référencée dans les paramètres de l'opération
  • datasource_type - l'un des ensembles de données de Dataset

Les noms de paramètre et les noms de champ sont sensibles à la casse, mais les opérations, les options de paramètre (telles que meters, minutes, , etc.) ou les mots clés tels que SELECT et FROM ne le sont pas.