Accéder au contenu principal

Migration de Connecteur GeoAnalytics vers Qlik GeoOperations

Qlik GeoOperations dans Qlik Cloud fournit des fonctions et opérations similaires à celles de Connecteur GeoAnalytics dans Qlik Sense Enterprise on Windows. Un grand nombre de formats de données identiques y sont eux aussi supportés. En voici les principales différences :

  • Qlik GeoOperations est une Intégration de l'analytique avancée (Advanced Analytics Integration ou AAI), plus adaptée pour envoyer et traiter des données qu'un connecteur.

  • La syntaxe de script de l'Intégration de l'analytique avancée est différente de celle des connecteurs.

  • Certaines opérations GeoOperations peuvent également être utilisées dans des expressions de graphique.

  • Qlik GeoOperations renvoie une seule table. Contrairement aux éléments renvoyés par Connecteur GeoAnalytics, les tables sont jointes dans Qlik GeoOperations.

  • Dans Qlik GeoOperations, certains champs et paramètres ont été renommés, pour une plus grande cohérence.

Voici comment convertir le script produit par l'Assistant Connecteur GeoAnalytics dans Qlik GeoOperations :

  1. Dans l'éditeur de chargement de données, dans le code du script Connecteur GeoAnalytics, copiez tous les éléments après SQL jusqu'à la deuxième instruction SELECT ou jusqu'au caractère ";", selon la première occurrence.
  2. Remplacez tous les caractères ' du script Connecteur GeoAnalytics par ".
  3. Ajoutez les noms de champ sélectionnés de la deuxième instruction SELECT du script Connecteur GeoAnalytics à la première instruction SELECT du script GeoOperations. Omettez tous les champs qui s'y trouvent déjà. Ajoutez le nom de table source aux noms de champ en les séparant par un point. Par exemple, table.field. Cela crée une seule table jointe au lieu de plusieurs tables.

  4. Consultez la documentation de référence sur l'opération et le jeu de données et ajustez tout nom de champ ou de paramètre, si nécessaire.

    Opération

    Jeu de données

    Pour une synthèse des différences clés, voir Différences entre les champs GeoOperations et GeoAnalytics

  5. Ajoutez ce qui suit au début du script GeoOperations :

    Load * Extension GeoOperations.ScriptEval('

  6. Ajoutez ce qui suit à la fin du script GeoOperations :

    ');

En cas d'utilisation d'une table chargée à l'aide de Connecteur GeoAnalytics, envoyez-la comme deuxième paramètre à GeoOperations.ScriptEval à la place.

Étant donné que Qlik GeoOperations renvoie une table jointe, seules les valeurs de champ ayant une valeur correspondante dans la table principale sont renvoyées des tables secondaires. Par exemple, si vous recherchez les aéroports les plus proches de certains points en Allemagne, seules les données sur les aéroports les plus proches des points seront renvoyées. Si vous recherchez tous les aéroports en Allemagne, ceux-ci doivent être chargés séparément via une opération LOAD.

En cas de chargement depuis une base de données SQL via le connecteur, les données doivent être chargées via l'un des connecteurs de base de données tels que le connecteur ODBC. Assurez-vous de charger les géométries au format WKT (appliquez une fonction généralement appelée st_asText() à la requête SQL). Convertissez ensuite le champ WKT en envoyant la table à Qlik GeoOperations. Cela renverra un champ avec les géométries au format Qlik Sense.

Exemple de conversion de script

Cet exemple de conversion de script utilise le script Connecteur GeoAnalytics suivant :

/* Generated by GeoAnalytics for operation Cluster ---------------------- */ [ClusterAssociations]: SQL SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' SELECT [Clusters_ClusterID], [Clusters_ClusterCenter] FROM Clusters; [Clusters]: SQL LOAD * FROM Clusters; tag field [LocationDbId] with '$primarykey'; tag field [Clusters_ClusterID] with '$primarykey'; tag field [Clusters_ClusterCenter] with '$geopoint'; tag field [Clusters_ClusterID] with '$geoname'; tag field [Clusters_ClusterCenter] with '$relates_Clusters_ClusterID'; tag field [Clusters_ClusterID] with '$relates_Clusters_ClusterCenter'; /* End GeoAnalytics operation Cluster ----------------------------------- */

Procédez comme suit :

  1. Prenez le script entre SQL et la deuxième instruction SELECT.

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
  2. Remplacez les guillemets :

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  3. Ajoutez les champs des tables secondaires :

    SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  4. Ajustez les noms de champ et de paramètre :

    SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  5. Encadrez dans un code d'expression standard :

    Load * Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');

Ce code de script peut maintenant être utilisé avec Qlik GeoOperations.

Différences entre les champs GeoOperations et GeoAnalytics

Les champs par défaut des scripts GeoOperations et GeoAnalytics présentent des différences, généralement au niveau des préfixes. Lors de la migration de vos scripts GeoAnalytics vers GeoOperations, vous devrez peut-être ajuster certains des noms de champ.

AddressToPoint

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match

  • GeoAnalytics : [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • GeoAnalytics Les champs comportent des préfixes provenant du jeu de données.

  • Dans GeoOperations, Dataset_Geometry est appelé AddressPoint .

Compartimentage

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint

  • GeoAnalytics : [<id>], [RH2W3], [RH2W3_CenterPoint]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Dans GeoAnalytics, RH2W3 est le champ de polygone et son nom est généré en fonction de la taille/du ratio de la grille. Dans GeoOperations, le champ est BinTable.BinPolygon.

  • GeoAnalytics n'a pas de champ BinId.

Le plus proche

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance

  • GeoAnalytics : [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • GeoOperations n'a pas de préfixes pour le champ Distance.

Cluster

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount

  • GeoAnalytics : [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

Dissoudre

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, DissolvedPolygon

  • GeoAnalytics : [<id>], [<id>_Geometry]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Nom de la colonne de géométrie

Intersection

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap

  • GeoAnalytics : [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]

Les différences clés entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

IpLookup

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, IpPoint, CountryIso2, Adm1Code, City

  • GeoAnalytics : [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • IpTable_Geometry dans GeoAnalytics est IpPoint dans GeoOperations.

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

Charger (jeu de données de localisation)

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations (zone) : LocationDbId, LocationPolygon, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType

  • GeoOperations (point) : LocationDbId, LocationPoint, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType

  • GeoAnalytics : [LocationDbId], [Dataset_Geometry], [Dataset_Name], [CountryIso2], [Dataset_Adm1Code], [Dataset_Adm2Code], [LocationDbType]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les champs de géométrie (LocationPolygon et LocationPoint dans GeoAnalytics sont Dataset_Geometry dans GeoOperations.

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

PointToAddress

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance

  • GeoAnalytics : [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Distance]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

Itinéraires

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, Distance, Duration, Status, LowResLine

  • GeoAnalytics : [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Le champ de géométrie Dataset_PathLowRes dans GeoAnalytics est LowResLine dans GeoOperations.

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

Simplifier

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, Simplified_<geo field name>

  • GeoAnalytics : [<id>], [Dataset_Simplified_Geometry]

.Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les noms du champ de géométrie sont différents dans GeoOperations et dans GeoAnalytics.

TravelAreas

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : <id>, TravelArea, Cost, CostUnit, Status

  • GeoAnalytics : [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • GeoOperations n'inclut pas de champ d'origine.

  • Les préfixes de GeoOperations et de GeoAnalytics sont différents.

Au sein de

GeoOperations et GeoAnalytics renvoient les champs suivants :

  • GeoOperations : dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>

  • GeoAnalytics : [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]

Les différences entre GeoAnalytics et GeoOperations sont les suivantes :

  • Les préfixes GeoOperations incluent des noms de jeux de données, tandis que GeoAnalytics inclut également le préfixe Enclosed.

Visit the discussion forum at community.qlik.com

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.