Przeskocz do zawartości głównej

Migracja z Łącznik GeoAnalytics do Qlik GeoOperations

Qlik GeoOperations w Qlik Cloud oferuje podobne funkcje i operacje co Łącznik GeoAnalytics w Qlik Sense Enterprise on Windows. Obsługują one również wiele takich samych formatów danych. Różnice są następujące:

  • Qlik GeoOperations to integracja analiz zaawansowanych (AAI), która jest bardziej odpowiednia do wysyłania i przetwarzania danych niż łącznik.

  • Składnia skryptu jest inna w przypadku integracji analiz zaawansowanych niż w przypadku łączników.

  • Część GeoOperations można też stosować w wyrażeniach wykresu.

  • Qlik GeoOperations zwraca pojedynczą tabelę. W porównaniu z tym, co zwraca Łącznik GeoAnalytics, tabele są łączone w Qlik GeoOperations.

  • W Qlik GeoOperations niektóre pola i parametry mają zmienione nazwy w celu zwiększenia spójności.

Poniżej opisano, jak przekonwertować skrypt utworzony przez kreatora Łącznik GeoAnalytics na Qlik GeoOperations:

  1. W Edytorze ładowania danych, w kodzie skryptu Łącznik GeoAnalytics, skopiuj wszystko po SQL aż do drugiego wystąpienia SELECT lub „;” w zależności od tego, co następuje wcześniej.
  2. Zamień wszystkie wystąpienia ' w skrypcie Łącznik GeoAnalytics na ".
  3. Dodaj wybrane nazwy pól z drugorzędnej instrukcji SELECT w skrypcie Łącznik GeoAnalytics do pierwszej instrukcji SELECT w skrypcie GeoOperations. Pomiń wszystkie pola, które już tam są. Dodaj nazwę tabeli źródłowej do nazw pól, oddzielając je kropką. Na przykład tabela.pole. Spowoduje to utworzenie pojedynczej połączonej tabeli zamiast kilku tabel.

  4. Przejrzyj dokumentację referencyjną operacji oraz zestawu danych i w razie potrzeby dostosuj nazwy parametrów lub pól.

    Operacja

    Zestaw danych

    Aby zapoznać się z podsumowaniem głównych różnic, zobacz Różnice między polami GeoOperations i Geoanalityka

  5. Dodaj następujący kod na początku skryptu GeoOperations

    Load * Extension GeoOperations.ScriptEval('

  6. Dodaj następujący kod na końcu skryptu GeoOperations:

    ');

Jeśli używasz załadowanej tabeli z Łącznik GeoAnalytics, wyślij ją jako drugi parametr do GeoOperations.ScriptEval.

Ponieważ Qlik GeoOperations zwraca tabelę połączoną, z tabel pomocniczych zwracane są tylko wartości pól, które mają odpowiednią wartość w tabeli podstawowej. Jeżeli na przykład chcesz znaleźć najbliższe lotniska w Niemczech dla niektórych punktów, zwracane są tylko dane o lotniskach, które są najbliżej punktów. Jeśli chcesz uzyskać dane wszystkich lotnisk w Niemczech, musisz je załadować osobno przy użyciu operacji LOAD.

W przypadku ładowania z bazy danych SQL za pomocą łącznika dane należy zamiast tego ładować za pomocą jednego z łączników bazy danych, takiego jak łącznik ODBC. Pamiętaj, aby załadować geometrie jako WKT (zastosuj funkcję zwykle zwaną st_asText() w zapytaniu SQL). Następnie przekonwertuj pole WKT, wysyłając tabelę do Qlik GeoOperations. Następnie zostanie zwrócone pole z geometriami w formacie Qlik Sense.

Przykładowa konwersja skryptu

W tym przykładzie konwersji skryptu zostanie użyty następujący skrypt Łącznik 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 ----------------------------------- */

Wykonaj następujące czynności:

  1. Użyj skryptu między SQL a drugą instrukcją SELECT.

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
  2. Zastąp cudzysłowy:

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  3. Dodaj pola z tabel pomocniczych:

    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. Dostosuj nazwy parametrów i pól:

    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. Użyj w kodzie wzorcowym:

    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" ');

Ten kod skryptu może być teraz używany z Qlik GeoOperations.

Różnice między polami GeoOperations i Geoanalityka

Domyślne pola w skryptach GeoOperations i Geoanalityka różnią się, zwykle przedrostkami. Podczas migracji skryptów Geoanalityka do GeoOperations może być konieczne dostosowanie niektórych nazw pól.

AddressToPoint

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Geoanalityka pola mają prefiksy z zestawu danych.

  • Dataset_Geometry nazywa się AddressPoint w GeoOperations.

Grupowanie

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • W Geoanalityka RH2W3 jest polem wielokątnym, a jego nazwa jest generowana na podstawie rozmiaru/współczynnika siatki. W GeoOperations polem tym jest BinTable.BinPolygon.

  • Geoanalityka nie zawiera pola BinId.

Najbliższe

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • GeoOperations nie ma prefiksów dla pola Distance.

Klaster

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Przedrostki różnią się między GeoOperations a Geoanalityka.

Zagreguj

GeoOperations i Geoanalityka zwracają następujące pola:

  • GeoOperations: <id>, DissolvedPolygon

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Nazwa kolumny geometrii

Przecięcia

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations występują następujące główne różnice:

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

IpLookup

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • IpTable_Geometry w Geoanalityka to IpPoint w GeoOperations.

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

Load (zestaw danych lokalizacji)

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Pola geometrii (LocationPolygon i LocationPoint) w Geoanalityka to Dataset_Geometry w GeoOperations.

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

PointToAddress

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

Trasy

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Pole geometrii Dataset_PathLowRes w Geoanalityka to LowResLine w GeoOperations.

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

Uprość

GeoOperations i Geoanalityka zwracają następujące pola:

  • GeoOperations: <id>, Simplified_<nazwa pola geograficznego>

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

.Między Geoanalityka a GeoOperations są następujące różnice:

  • Nazwy pól geometrii różnią się między GeoOperations a Geoanalityka.

TravelAreas

GeoOperations i Geoanalityka zwracają następujące pola:

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

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • GeoOperations nie zawiera pola pochodzenia.

  • Prefiksy w GeoOperations i Geoanalityka różnią się.

W

GeoOperations i Geoanalityka zwracają następujące pola:

  • GeoOperations: dataset_dataset2_RelationId, dataset.<id zestawu danych1>, dataset2.<id zestawu danych2>

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

Między Geoanalityka a GeoOperations są następujące różnice:

  • Prefiksy w GeoOperations obejmują nazwy zestawów danych, a w Geoanalityka jest także prefiks Enclosed.

Visit the discussion forum at community.qlik.com

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać!