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 funkcji ScriptEval, a tabela jako drugi.

GeoOperations to funkcje działające na zestawach danych. Zestawy danych pochodzą z danych załadowanych w Qlik Sense lub ze źródeł zewnętrznych, takich jak pliki geograficzne lub usługa lokalizacji. Dane wysyłane ze skryptu są dostępne jako zestaw danych o nazwie INTABLE. Aby określić dodatkowe parametry tych danych, należy je zadeklarować 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ć używane źródła danych. Domyślnie operacje pobierają dostępne zestawy danych zgodnie z opisem dotyczącym poszczególnych operacji w Operation (tylko w języku angielskim).

Wybieranie i zmiana nazw pól GeoOperations

Funkcje GeoOperations zwracają pola. Wszystkie pola są domyślnie zwracane i uwzględniane. Możesz poprzedzić funkcje GeoOperations instrukcją SELECT, aby wybrać określone pola i opcjonalnie zmienić ich nazwy. Na przykład ten skrypt używa instrukcji 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 efektywne niż określanie pól w instrukcji Qlik LOAD, ponieważ dane nie są ładowane do Qlik Sense, jeśli nie zostały wybrane w skrypcie GeoOperations.

Instrukcji SELECT można użyć, aby uniknąć obliczania niektórych pól — w tym celu wybiera się niezwracanie ich w wynikach. Na przykład można wykluczyć względne nakładające się pola zwracane przez Intersects.

Informacja

Jeśli wielokrotnie używasz tej samej operacji w skrypcie ładowania, użyj instrukcji SELECT, aby zmienić nazwy pól.

Składnia skryptu

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

1. Operacja

Skrypt w najprostszej formie wykonuje operację.

Składnia:  

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

Przykład:  

Cluster(distance="100000")

 

Aby uzyskać więcej informacji, zobacz listę operacji i ich parametrów.

2. Zestaw danych

Drugi krok polega na załadowaniu zestawu danych, który ma być zastosowany w przypadku wybranych operacji.

Składnia:  

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

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

Przykład:  

Within()

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

 

Aby uzyskać więcej informacji, zobacz listę 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

Poniższe 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ć, co możemy poprawić!