Saltar al contenido principal

Qlik Sense GeoOperations

Qlik Sense GeoOperations permite realizar cálculos geográficos y utilizar funciones como el cálculo de rutas o áreas de viaje. También permite cargar datos geográficos de una amplia variedad de fuentes de datos. Qlik Sense GeoOperations le permite resolver problemas geográficos en sus datos, por ejemplo:

  • Determinar cuántos clientes viven a 15 minutos en automóvil desde la ubicación de una tienda
  • Vincular posiciones de GPS a lugares, regiones o redes de carreteras
  • Crear áreas de ventas personalizadas a partir de una lista de municipios
  • Encontrar el hospital más cercano para una lista de pacientes

Las funciones de GeoOperations están disponibles en secuencias de script, tanto para el script de carga de datos como para las expresiones de visualización. Las funciones de GeoOperations pueden cargar datos cada una implícitamente. Las funciones de GeoOperations también se pueden utilizar para transformar datos geográficos o realizar cálculos.

Nota informativaPara ver un ejemplo de cómo usar GeoOperations, consulte ejemplos de GeoOperations.

Características

  • Disponible en el lenguaje de script de Qlik Sense SaaS.

  • Extrae las relaciones espaciales para que Qlik pueda gestionarlas.
  • Consultas sobre la hora de carga de las ubicaciones (como alternativa a las consultas sobre la hora de presentación en el gráfico de mapa).
  • Agregación de puntos en clústeres o cubos.
  • Especifique las ubicaciones como:
    • Geometrías de puntos, líneas o áreas, en el mismo formato que QlikGeoAnalytics y Qlik Sense
    • Campos de latitud y longitud
    • Puntos o áreas por su nombre
  • Cargue datos geográficos desde una variedad de formatos de entrada.
  • Utilice operaciones para datos ya cargados en Qlik.

Cómo funciona GeoOperations

Qlik Sense GeoOperations funciona enviando script y, opcionalmente una tabla, a la extensión de GeoOperations en el script de carga. Luego la extensión del lado del servidor devuelve los datos. GeoOperations hace que un objeto de Advanced Analytics Integration denominado "GeoOperations" esté disponible en el lenguaje de script que proporciona la función ScriptEval para enviar el script y la tabla a la extensión. Por ejemplo, a continuación puede ver el script de carga para aplicar la operación TravelAreas a la tabla MyPoints previamente cargada y especificar parámetros para el tamaño/coste del área de desplazamiento:

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

 

El script se envía como primer parámetro a ScriptEval y la tabla como segundo parámetro.

Las GeoOperations son funciones que operan en conjuntos de datos. Los conjuntos de datos provienen de datos cargados en Qlik Sense o de fuentes externas, como archivos geográficos o el servicio de ubicación. Los datos enviados desde el script están disponibles como un conjunto de datos denominado INTABLE. Si desea especificar parámetros adicionales para esos datos, debe declararlos después de la llamada a la función como un DATASOURCE. Por ejemplo:

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

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

 

Siempre es necesario declarar otras fuentes de datos y especificar parámetros como las URL. En cada operación puede especificar las fuentes de datos que se deberán utilizar. De manera predeterminada, las operaciones toman los conjuntos de datos disponibles, tal como se describe para cada operación en Operación (solo en inglés).

Dónde usar GeoOperations

Todas las operaciones se pueden utilizar en el script de carga de datos. Determinadas operaciones se pueden utilizar en expresiones en secuencias de script de gráficos para mapas y también para permitir cálculos dinámicos. Cada vez que la selección cambia, se ejecuta la operación. Los datos no entran en el modelo de datos cuando se utilizan GeoOperations en gráficos, lo que impide un análisis posterior de dichos datos.

Seleccionar y renombrar campos de GeoOperations

Las funciones de GeoOperations devuelven campos. De manera predeterminada, todos los campos se devuelven e incluyen. Puede hacer que las funciones de GeoOperations vayan precedidas de una sentencia SELECT para seleccionar y, opcionalmente cambiar, el nombre de los campos específicos que le interesen. Por ejemplo, este script utiliza SELECT para cargar solo dos de los campos de código postal del servicio de ubicación:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

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

 

Utilizar una sentencia SELECT en el script de GeoOperations puede ser más eficiente que especificar campos en la sentencia LOAD de Qlik, puesto que los datos no se cargan en Qlik Sense si no se han seleccionado en el script de GeoOperations.

SELECT se puede utilizar para evitar el cálculo de algunos campos eligiendo no devolverlos en los resultados. Por ejemplo, los campos de superposición relativa que devuelve Intersects se pueden excluir.

Nota informativa

Si está utilizando la misma operación varias veces en su script de carga, use una sentencia SELECT para cambiar el nombre de los campos.

Limitaciones

Las limitaciones siguientes se aplican al tamaño máximo de los conjuntos de datos:

  • Número máximo de filas: 50.000
  • Tamaño máximo del conjunto de datos en la memoria: 150 MB
  • Máximo de filas con enrutamiento: 400
  • Máximo de filas con búsquedas de nombres: 20,000

Algunas operaciones admiten la transmisión de datos desde Qlik Engine. Los datos transmitidos desde Qlik Engine pueden ser más extensos, pero el límite de tamaño para el direccionamiento es el mismo.

Sintaxis de script

El script que se puede enviar a GeoOperations tiene la siguiente sintaxis:

1. Operación

La forma más simple del script realiza una operación.

Sintaxis:  

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

Ejemplo:  

Cluster(distance="100000")

 

Para más información, consulte la lista de Operaciones y sus parámetros.

2. Conjunto de datos

El segundo paso es cargar un conjunto de datos para aplicar la(s) operación(es) elegida(s).

Sintaxis:  

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

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

Ejemplo:  

Within()

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

 

Para más información, consulte la lista de Conjuntos de datos y sus parámetros.

3. Uniendo todo

Así es como se vería el script completo en el Editor de carga de datos:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

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

’, MyTable);

 

En este ejemplo, MyTable puede ser cualquier otra tabla cargada que contenga puntos, líneas, áreas con nombre u otros datos geográficos.

4. Filtrar campos

Las incorporaciones siguientes permiten filtrar aún más los resultados de la operación.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

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

’, MyTable{Name, Point});

Los nombres de los parámetros y los nombres de los campos distinguen entre mayúsculas y minúsculas, pero no lo hacen las operaciones, las opciones de parámetros (como meters, minutes, , etc.) o palabras clave como SELECT y FROM.