Przeskocz do zawartości głównej

Qlik Sense GeoOperations

Qlik Sense GeoOperations umożliwia wykonywanie obliczeń geograficznych i korzystanie z funkcji do obliczania tras lub obszarów podróży. Można także ładować dane geograficzne z wielu różnych źródeł danych. Qlik Sense GeoOperations umożliwia rozwiązywanie problemów geograficznych z danymi, takich jak:

  • ustalenie, ilu klientów mieszka w odległości 15 minut jazdy od lokalizacji sklepu;
  • łączenie pozycji GPS z miejscami, regionami lub sieciami dróg;
  • budowanie niestandardowych regionów sprzedaży z listy gmin;
  • znalezienie najbliższego szpitala dla listy pacjentów.

Funkcje GeoOperations można stosować w skryptach — zarówno w skryptach ładowania danych, jak i wyrażeniach wizualizacji. Każda z funkcji GeoOperations może ładować dane niejawnie. Funkcji GeoOperations można też używać do przekształcania danych geograficznych lub do obliczeń.

InformacjaAby zapoznać się z przykładem wykorzystania GeoOperations, zobacz przykład GeoOperations.

Funkcje

  • Dostępne w języku skryptowym w Qlik Sense SaaS.

  • Wyodrębnia relacje przestrzenne, aby mogło je obsługiwać oprogramowanie Qlik.
  • Wyszukiwania lokalizacji w czasie ładowania (jako alternatywa dla wyszukiwania na wykresie mapy podczas prezentacji).
  • Agregacja punktów w klastrach lub grupach.
  • Lokalizacje można określać jako:
    • Geometrie punktowe, liniowe lub powierzchniowe w tym samym formacie co w QlikGeoAnalytics i Qlik Sense
    • Pola długości i szerokości geograficznej
    • Nazwane punkty lub obszary
  • Ładowanie danych geograficznych z różnych formatów wejściowych.
  • Używanie operacji na danych już załadowanych w Qlik.

Jak działa GeoOperations

Qlik Sense GeoOperations działa, wysyłając skrypt i opcjonalnie tabelę do rozszerzenia GeoOperations w skrypcie ładowania. Rozszerzenie po stronie serwera następnie zwraca dane. GeoOperations udostępnia obiekt Integracji analiz zaawansowanych o nazwie „GeoOperations” w języku skryptowym, który oferuje funkcję ScriptEval do wysyłania skryptu i tabeli do rozszerzenia. Na przykład poniżej przedstawiono skrypt ładowania mający na celu zastosowanie operacji TravelAreas 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).

Gdzie używać GeoOperations

Wszystkie operacje mogą być stosowane w skrypcie ładowania danych. Niektórych operacji można także używać w wyrażeniach w skryptach wykresów do map w celu umożliwienia obliczeń dynamicznych. Za każdym razem, gdy wybór się zmienia, uruchamiana jest operacja. Kiedy GeoOperations są wykorzystywane na wykresach, dane nie trafiają do modelu danych, co uniemożliwia ich dalszą analizę.

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.

Ograniczenia

Następujące ograniczenia dotyczą maksymalnego rozmiaru zestawów danych:

  • Maksymalna liczba wierszy: 50 000
  • Maksymalny rozmiar zestawu danych w pamięci: 150 MB
  • Maksymalna liczba wierszy z kierowaniem: 400
  • Maksymalna liczba wierszy z wyszukiwaniem nazw: 20 000

Niektóre operacje obsługują przesyłanie strumieniowe danych z aparatu Qlik. Dane przesyłane strumieniowo z aparatu Qlik mogą być większe, ale nadal obowiązuje limit rozmiaru dla kierowania.

Składnia skryptu

Skrypt, który można wysłać 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.