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 jeux de données. Les jeux de données proviennent soit de données chargées dans Qlik Sense, soit de sources externes telles que des fichiers géographiques ou le service de géolocalisation. Les données envoyées par le script sont disponibles sous la forme d'un jeu 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 jeux 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 du service de géolocalisation :

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 être 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, les champs en chevauchement relatif renvoyés par Intersects peuvent être exclus.

Note Informations

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

Syntaxe de script

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

1. Fonctionnement

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 de leurs paramètres.

2. Jeu de données

La deuxième étape consiste à charger un jeu de données pour la ou les opérations sélectionnées à appliquer.

 

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

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

 

Within()

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

 

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

3. Assemblage

Voici ce à quoi ressemblerait le script terminé dans l'É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 toute autre table chargée contenant des points, des lignes, des zones nommées ou d'autres données géographiques.

4. Filtrage des champs

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 – faites-le-nous savoir.