Saltar al contenido principal

Migrar de GeoAnalytics Connector a Qlik Sense GeoOperations

EN ESTA PÁGINA

Migrar de GeoAnalytics Connector a Qlik Sense GeoOperations

Qlik Sense GeoOperations en Qlik Cloud Services ofrece características y operaciones similares a las que ofrece GeoAnalytics Connector en Qlik Sense Enterprise on Windows. También admiten muchos de los mismos formatos de datos. Tienen las siguientes diferencias:

  • GeoOperations es una integración analítica avanzada (AAI) que resulta más adecuada para enviar y procesar datos que un conector.
  • GeoOperations únicamente es accesible desde el lenguaje de script, no hay asistente para GeoOperations.
  • La sintaxis de script es diferente para las integraciones de Advanced Analytics que para los conectores.
  • GeoOperations también se puede utilizar en las expresiones de gráficos.
  • GeoOperations devuelve una única tabla. En comparación con lo que devuelve el conector, las tablas se unen en GeoOperations.
  • En GeoOperations se ha cambiado el nombre de algunos campos y parámetros para una mayor coherencia.

A continuación se describe cómo convertir el script producido por el asistente de GeoAnalytics Connector a GeoOperations:

  1. En el Editor de carga de datos, en el código de script de GeoAnalytics Connector, copie todo lo que viene después de SQL hasta el segundo SELECT o ";", el que aparezca primero.
  2. Reemplace todos los ' del script de GeoAnalytics Connector por ".
  3. Añada los nombres de los campos seleccionados de la sentencia secundaria SELECT en el script de GeoAnalytics Connector a la primera sentencia SELECT del script de GeoOperations. Omita los campos que ya existen. Añada el nombre de la tabla de origen a los nombres de los campos, separándolos con un punto. Por ejemplo, table.field.

    Esto creará una única tabla unida en lugar de varias tablas.

  4. Revise la documentación de referencia de la operación y el conjunto de datos y ajuste los nombres de los parámetros o campos cuando sea necesario.

    Operación (solo en inglés)

    Conjunto de datos (solo en inglés)

  5. Añada lo siguiente al inicio del script de GeoOperations

    Load * Extension GeoOperations.ScriptEval('

  6. Añada lo siguiente al final del script de GeoOperations:

    ');

Si se utiliza una tabla cargada con GeoAnalytics Connector, envíela como segundo parámetro a GeoOperations.ScriptEval en su lugar.

Como GeoOperations devuelve una tabla unida, las tablas secundarias solo devolverán los valores de los campos que tengan un valor correspondiente en la tabla primaria. Por ejemplo, si desea encontrar los aeropuertos más cercanos para algunos puntos de Alemania, solo se devuelven los datos sobre los aeropuertos más cercanos a los puntos. Si desea todos los aeropuertos de Alemania, hay que cargarlos por separado con una operación LOAD.

Si se cargan desde una base de datos SQL con el conector, los datos deben cargarse con uno de los conectores de base de datos, como el conector ODBC. Asegúrese de cargar las geometrías como WKT (aplicar una función normalmente denominada st_asText() en la consulta SQL). A continuación, convierta el campo WKT enviando la tabla a GeoOperations. A continuación, devolverá un campo con las geometrías en el formato Qlik Sense.

Ejemplo de conversión de script

Este ejemplo de conversión de script utiliza el siguiente script de GeoAnalytics Connector:

/* 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 ----------------------------------- */

 

Haga lo siguiente:

  1. Tome la secuencia de script entre SQL y la segunda sentencia SELECT.

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points')

    DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'

  2. Reemplace las comillas:

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points")

    DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"

  3. Agregue los campos desde las tablas secundarias:

    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. Ajuste los nombres de los parámetros y los campos:

    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. Inclúyalos en el código de la plantilla:

    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"

    ');

Este código de script ahora se puede utilizar con Qlik Sense GeoOperations.