Scripting con Qlik GeoOperations
I connettori Qlik GeoOperations creano e formattano gli script GeoOperations per l'utente. È possibile modificare tali script in Editor caricamento dati. È anche possibile scrivere manualmente con le funzioni GeoOperations, invece di usare i connettori Qlik GeoOperations.
Funzionamento di Qlik GeoOperations
Innanzitutto, aggiungere un connettore Qlik GeoOperations come sorgente dati. In Editor caricamento dati nella propria app, quando si selezionano i dati da caricare dal connettore, è possibile selezionare le operazioni da eseguire e i parametri da applicare. Il connettore Qlik GeoOperations aggiunge quindi lo script GeoOperations corrispondente allo script di caricamento. È possibile aggiungere questo script anche manualmente.
Ogni script operativo è composto da un'istruzione LOAD, che seleziona l'uso dei dati, e dall'operazione. Questi vengono inviati all'estensione GeoOperations nello script di caricamento. L'estensione lato server restituisce i dati. Qlik GeoOperations rende disponibile un oggetto Advanced Analytics Integration definito GeoOperations nel linguaggio di script. Fornisce la funzione ScriptEval per inviare lo script e la tabella all'estensione.
Ad esempio, di seguito viene riportato lo script di caricamento per l'applicazione dell'operazione Aree di viaggio alla tabella MyPoints precedentemente caricata e per la specifica di parametri per le dimensioni/costo dell'area di viaggio:
Lo script viene inviato come primo parametro a ScriptEval e la tabella come secondo.
Le funzioni GeoOperations operano sui set di dati. I set di dati provengono dai dati caricati in Qlik Sense o da sorgenti esterne come file geografici o il servizio di posizione. I dati inviati dallo script sono disponibili come set di dati denominato INTABLE, Se si desidera specificare parametri aggiuntivi su tali dati, sarà necessario dichiararlo dopo la chiamata di funzione come DATASOURCE. Ad esempio:
Dichiarare sempre altre sorgenti dati e specificare sempre i parametri come gli URL. In ciascuna operazione è possibile specificare le sorgenti dati da utilizzare. Per impostazione predefinita, le operazioni prelevano i set di dati disponibili così come descritto per ciascuna operazione in Operazione (solo in lingua inglese).
Selezione e rinomina dei campi GeoOperations
Le funzioni GeoOperations restituiscono campi. Per impostazione predefinita, tutti i campi vengono restituiti e inclusi. È possibile far precedere le funzioni GeoOperations da un'istruzione SELECT per selezionare e, in via opzionale, rinominare campi specifici a cui si è interessati. Ad esempio, tale script utilizza SELECT per caricare solo due dei campi codice postale dal servizio di posizione:
Load * Extension GeoOperations.ScriptEval('
SELECT Name as PostalCode, LocationArea FROM
Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');
L'utilizzo di un'istruzione SELECT nello script GeoOperations può essere più efficace della specifica di campi nell'istruzione Qlik LOAD, visto che i dati non vengono caricati in Qlik Sense se non vengono selezionati nello script GeoOperations.
SELECT è utilizzabile per evitare di calcolare alcuni campi scegliendo di non restituirli nei risultati. Ad esempio, è possibile escludere i campi relativi di sovrapposizione restituiti da Intersects.
Se nel proprio script di caricamento si sta utilizzando la stessa operazione più volte, utilizzare un'istruzione SELECT per rinominare i campi.
Sintassi dello script
Lo script inviato a GeoOperations presenta la seguente sintassi:
1. Operazione
La forma più semplice dello script esegue un'operazione.
Sintassi:
Operation(paramName="paramValue", ...)
Esempio:
Cluster(distance="100000")
Per maggiori informazioni, vedere l'elenco delle Operazioni e i relativi parametri.
2. Set di dati
Il secondo passo è quello di caricare un set di dati a cui applicare l'operazione o le operazioni scelte.
Sintassi:
Operation(paramName="paramValue", ...)
DATASOURCE name TYPE paramName="paramvalue", ...
Esempio:
Within()
DATASOURCE states LOCATIONSERVICE type="STATE", country="US"
Per maggiori informazioni, vedere l'elenco dei Set di dati e i relativi parametri.
3. Mettere insieme i pezzi
Questo è come lo script completato apparirebbe in Editor caricamento dati:
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable);
In questo esempio, MyTable può essere qualsiasi altra tabella caricata contenente punti, linee, aree denominate o altri dati geografici.
4. Filtrare i campi
Le seguenti aggiunte consentono un ulteriore filtraggio dei risultati dell'operazione.
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
SELECT Name, states.Name as State FROM
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable{Name, Point});
I nomi dei parametri e dei campi fanno distinzione tra maiuscole e minuscole, a differenza di operazioni, opzioni dei parametri (come meters, minutes, , ecc.) o parole chiave come SELECT e FROM.