Vai al contenuto principale

Migrazione da Connettore GeoAnalytics a Qlik GeoOperations

Qlik 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:

  • Qlik GeoOperations è un'Advanced Analytics Integration (AAI), più adatta all'invio e all'elaborazione di dati rispetto a un connettore.

  • La sintassi di script è diversa per le Advanced Analytics Integration rispetto ai connettori.

  • Nelle espressioni del grafico è possibile utilizzare anche alcuni GeoOperations.

  • Qlik GeoOperations restituisce una tabella singola. Rispetto a ciò che restituisce Connettore GeoAnalytics, le tabelle vengono unite in Qlik GeoOperations.

  • In Qlik 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 Qlik 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.

    Funzionamento

    Set di dati

    Per un riepilogo delle differenze principali, vedere Differenze tra i campi GeoOperations e GeoAnalytics

  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 Qlik 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 Qlik 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 GeoOperations.

Differenze tra i campi GeoOperations e GeoAnalytics

I campi predefiniti tra gli script di GeoOperations e GeoAnalytics hanno delle differenze, di norma nei prefissi utilizzati. Quando si effettua la migrazione degli script di GeoAnalytics a GeoOperations, può essere necessario correggere i nomi di alcuni campi.

AddressToPoint

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match

  • GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • GeoAnalytics i prefissi dei campi provengono dal set di dati.

  • Dataset_Geometry è denominato AddressPoint in GeoOperations.

Binning

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint

  • GeoAnalytics: [<id>], [RH2W3], [RH2W3_CenterPoint]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • In GeoAnalytics, RH2W3 è il campo Poligono ed il nome è generato in base alle dimensioni/proporzioni della griglia. In GeoOperations il campo è BinTable.BinPolygon.

  • GeoAnalytics non dispone del campo BinId.

Più vicino

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance

  • GeoAnalytics: [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • GeoOperations non dispone di prefissi per il campo Distance.

Cluster

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount

  • GeoAnalytics: [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • I prefissi sono differenti tra GeoOperations e GeoAnalytics.

Scomponi

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, DissolvedPolygon

  • GeoAnalytics: [<id>], [<id>_Geometry]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • Nome della colonna Geometria

Intersezioni

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap

  • GeoAnalytics: [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]

In GeoAnalytics e GeoOperations vi sono le seguenti differenze principali:

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

IpLookup

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, IpPoint, CountryIso2, Adm1Code, City

  • GeoAnalytics: [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • IpTable_Geometry in GeoAnalytics corrisponde a IpPoint in GeoOperations.

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

Load (set di dati posizione)

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations (area): LocationDbId, LocationPolygon, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType

  • GeoOperations (point): LocationDbId, LocationPoint, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType

  • GeoAnalytics: [LocationDbId], [Dataset_Geometry], [Dataset_Name], [CountryIso2], [Dataset_Adm1Code], [Dataset_Adm2Code], [LocationDbType]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • I campi della geometria (LocationPolygon e LocationPoint in GeoAnalytics corrispondono a Dataset_Geometry in GeoOperations.

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

PointToAddress

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance

  • GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

Percorsi

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, Distance, Duration, Status, LowResLine

  • GeoAnalytics: [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • Il campo della geometria Dataset_PathLowRes in GeoAnalytics corrisponde a LowResLine in GeoOperations.

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

Semplifica

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, Simplified_<geo field name>

  • GeoAnalytics: [<id>], [Dataset_Simplified_Geometry]

.In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • I nomi del campo della geometria in GeoOperations e in GeoAnalytics sono differenti.

TravelAreas

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: <id>, TravelArea, Cost, CostUnit, Status

  • GeoAnalytics: [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • GeoOperations non include un campo origine.

  • I prefissi utilizzati in GeoOperations e in GeoAnalytics sono differenti.

All'interno

GeoOperations e GeoAnalytics restituiscono i seguenti campi:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>

  • GeoAnalytics: [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]

In GeoAnalytics e GeoOperations sono presenti le seguenti differenze:

  • I prefissi di GeoOperations includono i nomi del set di dati, mentre GeoAnalytics include anche il prefisso Enclosed.

Visit the discussion forum at community.qlik.com

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – ti pregiamo di farcelo sapere!