Vai al contenuto principale

Migrazione da Connettore GeoAnalytics a Qlik Sense GeoOperations

IN QUESTA PAGINA

Migrazione da Connettore GeoAnalytics a Qlik Sense GeoOperations

Qlik Sense GeoOperations in Qlik Cloud fornisce funzionalità e operazioni simili come fa Connettore GeoAnalytics in Qlik Sense Enterprise on Windows. Sono supportati anche molti degli stessi formati di data. Hanno le seguenti differenze:

  • GeoOperations è un'Advanced Analytics Integration (AAI), più adatta all'invio e all'elaborazione di dati rispetto a un connettore.
  • GeoOperations è accessibile solo dal linguaggio di script. Non c'è alcuna procedura guidata per GeoOperations.
  • La sintassi di script è diversa per le Advanced Analytics Integration rispetto ai connettori.
  • GeoOperations è utilizzabile anche nelle espressioni del grafico.
  • GeoOperations restituisce una tabella singola. Rispetto a ciò che restituisce il Connettore, le tabelle vengono unite in GeoOperations.
  • In GeoOperations alcuni campi e parametri sono stati rinominati per essere più coerenti.

La sezione seguente descrive come convertire lo script prodotto dalla procedura guidata di Connettore GeoAnalytics in GeoOperations:

  1. In Editor caricamento dati, nel codice di script Connettore GeoAnalytics, copiare tutto ciò che compare dopo SQL fino al secondo SELECT o ";", in base a ciò che appare per primo.
  2. Sostituire tutti i ' nello script Connettore GeoAnalytics con ".
  3. Aggiungere i nomi di campo selezionati dall'istruzione secondaria SELECT nello script Connettore GeoAnalytics alla prima istruzione SELECT nello script GeoOperations. Omettere qualsiasi campo già presente. Aggiungere il nome della tabella di origine ai nomi di campo, separandoli con un punto. Ad esempio, table.field. Ciò creerà una singola tabella unita al posto di svariate tabelle.

  4. Esaminare la documentazione di riferimento per l'operazione e il set di dati e regolare qualsiasi parametro o nome di campo laddove necessario.

    Operazione (solo in lingua inglese)

    Set di dati (solo in lingua inglese)

  5. Aggiungere quanto segue all'inizio dello script GeoOperations

    Load * Extension GeoOperations.ScriptEval('

  6. Aggiungere quanto segue alla fine dello script GeoOperations:

    ');

Se si utilizza una tabella caricata con il Connettore GeoAnalytics, inviarla invece come secondo parametro a GeoOperations.ScriptEval.

Dato che GeoOperations restituisce una tabella unita, dalle tabelle secondarie vengono restituiti solo i valori di campo che hanno un valore corrispondente nella tabella primaria. Ad esempio, se si desidera trovare gli aeroporti più vicini in Germania per alcuni punti, vengono restituiti solo i dati relativi agli aeroporti più vicini ai punti. Se si desiderano tutti gli aeroporti in Germania, devono essere caricati separatamente con un'operazione LOAD.

In caso di caricamento da un database SQL con il connettore, i dati devono invece essere caricati con uno dei connettori database, come il connettore ODBC. Assicurarsi di caricare le geometrie come WKT (applicare una funzione generalmente definita st_asText() nella query SQL). Convertire quindi il campo WKT inviando la tabella in GeoOperations. Verrà restituito un campo con le geometrie nel formato Qlik Sense.

Esempio di conversione script

Questo esempio di conversione script utilizzerà il seguente script Connettore GeoAnalytics:

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

 

Procedere come indicato di seguito:

  1. Considerare lo script tra SQL e la seconda istruzione SELECT.

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

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

  2. Sostituire le virgolette:

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

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

  3. Aggiungere campi dalle tabelle secondarie:

    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. Regolare i nomi di parametri e campi:

    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. Racchiudere in codice boilerplate:

    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"

    ');

Questo codice di script può ora essere utilizzato con Qlik Sense GeoOperations.