Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Tworzenie skryptów przy użyciu Qlik GeoOperations

Łączniki Qlik GeoOperations tworzą i formatują skrypty GeoOperations za Ciebie. Skrypty te możesz modyfikować w narzędziu Edytor ładowania danych. Możesz także tworzyć skrypty ręcznie przy użyciu funkcji GeoOperations, zamiast używać łączników Qlik GeoOperations.

Jak działa Qlik GeoOperations

Najpierw dodaje się łącznik Qlik GeoOperations jako źródło danych. W narzędziu Edytor ładowania danych aplikacji, gdy wybierasz dane do załadowania z łącznika, możesz wybrać operacje do wykonania i parametry do zastosowania. Następnie łącznik Qlik GeoOperations dodaje odpowiedni skrypt GeoOperations do skryptu ładowania. Możesz również dodać ten skrypt ręcznie.

Każdy skrypt operacji składa się z instrukcji LOAD, która wybiera użycie danych i operację. Są one wysyłane do rozszerzenia GeoOperations w skrypcie ładowania. Rozszerzenie po stronie serwera następnie zwraca dane. Qlik GeoOperations udostępnia obiekt Integracji analiz zaawansowanych o nazwie GeoOperations, dostępny w języku skryptowym. Oferuje on funkcję ScriptEval do wysyłania skryptu i tabeli do rozszerzenia.

Na przykład poniżej przedstawiono skrypt ładowania mający na celu zastosowanie operacji Obszary podróży do poprzednio załadowanej tabeli MyPoints i określenia parametrów wielkości/kosztu obszaru podróży:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

Skrypt jest wysyłany jako pierwszy parametr do ScriptEval, a tabela jako drugi.

GeoOperations to funkcje działające na zestawach danych. Zestawy danych pochodzą albo z danych załadowanych w Qlik Sense, albo z zewnętrznych źródeł, takich jak pliki geograficzne lub usługa lokalizacji. Dane wysłane ze skryptu są dostępne jako zestaw danych o nazwie INTABLE. Jeśli chcesz określić dodatkowe parametry dla tych danych, musisz zadeklarować je po wywołaniu funkcji jako DATASOURCE. Na przykład:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes") DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

Inne źródła danych zawsze muszą być deklarowane, a parametry, takie jak adresy URL, muszą być określane. W każdej operacji można określić źródła danych do użycia. Domyślnie operacje pobierają dostępne zestawy danych zgodnie z opisem dotyczącym poszczególnych operacji w temacie Operacja (tylko w języku angielskim).

Wybieranie i zmiana nazwy pól GeoOperations

Funkcje GeoOperations zwracają pola. Domyślnie zwracane i uwzględniane są wszystkie pola. Możesz poprzedzić funkcje GeoOperations instrukcją SELECT, aby wybrać określone pola i opcjonalnie zmienić ich nazwy. Na przykład, ten skrypt używa SELECT do załadowania tylko dwóch pól kodu pocztowego z usługi lokalizacji:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

Użycie instrukcji SELECT w skrypcie GeoOperations może być bardziej wydajne niż określanie pól w instrukcji Qlik LOAD, ponieważ dane nie są ładowane do Qlik Sense bez wybrania w skrypcie GeoOperations.

SELECT można użyć, aby uniknąć obliczania niektórych pól, wybierając niezwracanie ich w wynikach. Na przykład można wykluczyć względne pola nakładania się zwrócone przez Intersects.

Informacja

W przypadku wielokrotnego użycia tej samej operacji w skrypcie ładowania należy użyć instrukcji SELECT do zmiany pól.

Składnia skryptu

Skrypt wysłany do GeoOperations ma następującą składnię:

1. Operacja

Najprostsza forma skryptu wykonuje operację.

Składnia:  

Operation(paramName="paramValue", ...)

Przykład:  

Cluster(distance="100000")

 

Więcej informacji można znaleźć na liście operacji i ich parametrów.

2. Zestaw danych

Drugim krokiem jest załadowanie zestawu danych dla wybranych operacji, które mają zostać zastosowane.

Składnia:  

Operation(paramName="paramValue", ...)

DATASOURCE name TYPE paramName="paramvalue", ...

Przykład:  

Within()

DATASOURCE states LOCATIONSERVICE type="STATE", country="US"

 

Więcej informacji można znaleźć na liście zestawów danych i ich parametrów.

3. Składanie w całość

Tak wyglądałby ukończony skrypt w narzędziu Edytor ładowania danych:

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable);

 

W tym przykładzie MyTable może być dowolną inną załadowaną tabelą zawierającą punkty, linie, nazwane obszary lub inne dane geograficzne.

4. Filtrowanie pól

Następujące dodatki umożliwiają dalsze filtrowanie wyników operacji.

[MyPointsInStates]:

Load * Extension GeoOperations.ScriptEval(’

SELECT Name, states.Name as State FROM

Within()

DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”

’, MyTable{Name, Point});

W nazwach parametrów i nazwach pól rozróżniana jest wielkość liter, ale w operacjach, opcjach parametrów (takich jak meters, minutes, itp.) lub słowach kluczowych, takich jak SELECT i FROM, nie jest ona rozróżniana.

Rozwiązywanie problemów ze skryptami AddressPointLookup i PointToAddressLookup

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ć!