Accéder au contenu principal Passer au contenu complémentaire

Rédaction de scripts avec Qlik GeoOperations

Les connecteurs Qlik GeoOperations créent et formatent des scripts GeoOperations pour vous. Vous pouvez modifier ces scripts dans Éditeur de chargement de données. Vous pouvez également rédiger des scripts manuellement à l'aide de fonctions GeoOperations au lieu d'utiliser des connecteurs Qlik GeoOperations.

Principe de fonctionnement de Qlik GeoOperations

Commencez par ajouter un connecteur Qlik GeoOperations comme source de données. Dans Éditeur de chargement de données dans votre application, lorsque vous sélectionnez des données à charger depuis le connecteur, vous pouvez sélectionner des opérations à effectuer et les paramètres à appliquer. Le connecteur Qlik GeoOperations ajoute alors le script GeoOperations correspondant à votre script de chargement. Vous pouvez également ajouter ce script manuellement.

Chaque script d'opérations comporte une instruction LOAD, qui sélectionne l'utilisation des données et l'opération. Celles-ci sont envoyées à l'extension GeoOperations dans le script de chargement. L'extension côté serveur renvoie ensuite les données. Qlik GeoOperations met à disposition un objet Intégration de l'analytique avancée appelé GeoOperations dans le langage de script. Cela fournit la fonction ScriptEval permettant d'envoyer le script et la table à l'extension.

Par exemple, voici le script de chargement permettant d'appliquer l'opération Zones de déplacement à la table précédemment chargéeMyPoints et de spécifier les paramètres de taille/coût de la zone de déplacement :

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 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 sélectionnent les ensembles de données disponibles tel que décrit pour chaque opération dans Opération (uniquement en anglais).

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 des champs spécifiques 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.

Note Informations

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

Syntaxe de script

La syntaxe du script envoyé à GeoOperations est la suivante :

1. Opération

La forme la plus simple du script effectue une opération.

 

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

 

Cluster(distance="100000")

 

Pour plus d'informations, consultez la liste des opérations et leurs paramètres.

2. Ensemble de données

La deuxième étape consiste à charger un ensemble de données auquel appliquer la ou aux opérations de votre choix.

 

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

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

 

Within()

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

 

Pour plus d'informations, consultez la liste des ensembles de données et leurs paramètres.

3. Combinaison des différents éléments

Voici ce à quoi le script terminé ressemblerait dans Éditeur de chargement de données :

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

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

’, MyTable);

 

Dans cet exemple, MyTable peut être n'importe quelle autre table contenant des points, des lignes, des zones nommées ou d'autres données géographiques.

4. Champs de filtre

Les ajouts suivants permettent de filtrer davantage les résultats de l'opération.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

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

’, MyTable{Name, Point});

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.

Résolution des problèmes des scripts AddressPointLookup et PointToAddressLookup

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !