Creazione di script con Qlik GeoOperations
I connettori Qlik GeoOperations creano e formattano gli script di 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 da dati caricati in Qlik Sense o da sorgenti esterne come file geografici o il servizio di localizzazione. I dati inviati dallo script sono disponibili come set di dati denominato INTABLE. Se si desidera specificare dei parametri aggiuntivi per quei dati, è necessario dichiararli dopo la chiamata di funzione come DATASOURCE. Ad esempio:
Dichiarare sempre altre sorgenti dati e specificare sempre i parametri come gli URL. In ogni 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).
Selezionare e rinominare i campi di GeoOperations
Le funzioni di GeoOperations restituiscono dei campi. Per impostazione predefinita vengono restituiti tutti i campi. È 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, questo script utilizza SELECT per caricare solo due dei campi con il 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ù efficiente rispetto alla specificazione dei campi nell'istruzione LOAD di Qlik, in quanto i dati non vengono caricati in Qlik Sense se non sono selezionati nello script GeoOperations.
È possibile utilizzare SELECT per evitare il calcolo di alcuni campi, scegliendo di non restituirli nei risultati. Ad esempio, è possibile includere i campi di sovrapposizione relativa restituiti da Intersects.
Se si utilizza la stessa operazione più volte nello script di caricamento, 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 dei loro parametri.
2. Set di dati
Il secondo passaggio consiste nel caricare un set di dati da applicare per 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 dei loro parametri.
3. Aggregazione dei due elementi
Ecco come appare lo script completo 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. Filtro dei campi
Le seguenti aggiunte consentono di filtrare ulteriormente i 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.