Redacción de scripts con Qlik GeoOperations
Los conectores de Qlik GeoOperations crean y dan formato a scripts de GeoOperations. Puede modificar estos scripts en Editor de carga de datos. También puede crear scripts manualmente con funciones de GeoOperations en lugar de usar conectores de Qlik GeoOperations.
Cómo funciona Qlik GeoOperations
Primero agregue un conector Qlik GeoOperations como fuente de datos. En Editor de carga de datos, en su app, cuando selecciona los datos para cargar desde el conector, puede seleccionar las operaciones que se han de realizar y los parámetros que se deben aplicar. El conector de Qlik GeoOperations a continuación añade el correspondiente script de GeoOperations a su script de carga. También puede agregar este script manualmente.
Cada script de operaciones consta de una sentencia load de carga, que selecciona el uso de datos y la operación. Estos se envían a la extensión de GeoOperations en el script de carga. Luego la extensión del lado del servidor devuelve los datos. Qlik GeoOperations hace que un objeto de integración de análisis avanzado llamado GeoOperations esté disponible en el lenguaje de script. Esto 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 Travel Areas a la tabla MyPoints previamente cargada y especificar parámetros para el tamaño/coste del área de desplazamiento:
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:
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).
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.
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.
Sintaxis de script
El script que se envía 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.