Gå till huvudinnehåll

Qlik Sense GeoOperations

Med Qlik Sense GeoOperations kan du använda geografiska beräkningar och funktioner som att beräkna rutter eller reseområden. Du kan även ladda geografiska data från GeoJSON-filer och ESRI-formfiler.

Qlik Sense Enterprise SaaS - Government (US) stöder inte Qlik Sense GeoOperations.

Qlik Sense GeoOperations är tillgängligt som en avancerad analysintegrering med Qlik Sense GeoAnalytics för Qlik Cloud Services.

Med Qlik Sense GeoOperations kan du lösa geografiska problem med dina data, som till exempel att:

  • avgöra hur många kunder som bor inom 15 minuters bilavstånd från en butik
  • länka GPS-positioner till platser, regioner eller vägnät
  • skapa anpassade säljområden från en lista med kommuner
  • hitta det närmaste sjukhuset för en lista med patienter.

GeoOperations-funktioner är tillgängliga som skriptkod både för dataladdningsskript och för visualiseringsuttryck. GeoOperations-funktioner gör det möjligt att ladda geografiska datauppsättningar från externa filer eller från Qlik GeoAnalytics-platstjänsten. GeoOperations-funktioner kan även användas för att omvandla geografiska data eller utföra beräkningar.

Observera: Ett exempel på hur du använder GeoOperations finns i artikeln GeoOperations-exempel.

Hur GeoOperations fungerar

Qlik Sense GeoOperations skickar små skriptbitar och en tabell (valfritt) till GeoOperations-komplementet i laddningsskriptet. Sedan returnerar komplementet data. GeoOperations gör ett avancerat analysintegreringsobjekt som heter GeoOperations tillgängligt i skriptspråket, som tillhandahåller funktionen ScriptEval som skickar skriptet och tabellen till komplementet. Till exempel är det här laddningsskriptet som tillämpar operationen TravelAreas på den tidigare laddade tabellen MyPoints och specificerar parametrar för reseområdets storlek/kostnad:

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

 

Skriptet skickas till ScriptEval som den första parametern, och tabellen som den andra.

GeoOperations är funktioner som används för datauppsättningar. Datauppsättningarna kommer antingen från data som har laddats i Qlik Sense eller från externa källor som geografiska filer eller platstjänsten. Data som skickas från skriptet är tillgängliga som en datauppsättning med namnet INTABLE. Om du vill specificera ytterligare parametrar för dessa data, måste du deklarera dem efter funktionsanropet som en DATASOURCE. Exempel:

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

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

Andra typer av datakällor måste alltid deklareras och parametrar som URL:er måste specificeras. I varje operation kan du specificera vilka datakällor som ska användas. Som standard använder operationer de datauppsättningar som är tillgängliga.

Var GeoOperations kan användas

Alla operationer kan användas i dataladdningsskriptet. Vissa operationer kan även användas i diagramskript för kartor för att möjliggöra dynamiska beräkningar. Operationen körs varje gång urvalet ändras. Data flyttas inte in i datamodellen när GeoOperations används i diagram, vilket förhindrar vidare analys av dessa data.

Välja GeoOperations-fält och ge dem nya namn

GeoOperations-funktioner returnerar fält. Som standard inkluderas och returneras alla delade fält. Du kan välja specifika fält du är intresserad av, och valfritt även byta namn på dem, genom att placera en SELECT-sats före GeoOperations-funktioner. Till exempel använder följande skript SELECT för att ladda endast två av postnummerfälten från platstjänsten:

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

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

 

Att använda en SELECT-sats i GeoOperations-skriptet kan vara mer effektivt än att specificera fält i Qlik LOAD-satser, eftersom data inte laddas i Qlik Sense om de inte väljs i GeoOperations-skriptet.

Med SELECT kan du undvika att vissa fält beräknas, genom att välja att de inte ska returneras i resultaten. Du kan till exempel utesluta de relativa överlappningsfälten som returneras av Intersects.

Observera:

Om du använder samma operation flera gånger i laddningsskriptet ger du fälten andra namn med en SELECT-sats.

Begränsningar

Följande begränsningar gäller för hur stora datauppsättningarna kan vara:

  • Maximalt antal rader: 50 000
  • Maximal storlek på datauppsättning i minnet: 150 MB
  • Maximalt antal rader med routing: 400
  • Maximalt antal rader med namnsökning: 20 000

Vissa operationer stöder strömning av data från Qlik Engine. Datamängden som strömmas från Qlik Engine kan vara större, men gränsen för routing är oförändrad.

Skriptsyntax

Skriptkoden som kan skickas till GeoOperations har följande syntax.

Syntax:  

script ::= [ SELECT (* | select_field,...) FROM ] operation ( [parameter,...] ) {datasource_declaration}

select_field ::= field_name [ AS alias_name ]

parameter ::= parameter_name = "parameter_value"

datasource_declaration ::= DATASOURCE datasource_name datasource_type [parameter,...]

  • field_name – namn på ett fält i tabellen som returneras, kan placeras inom [] (valfritt)
  • alias_name – namn som fältet ska döpas om till, kan placeras inom [] (valfritt)
  • operation – en av operationerna i Operation
  • parameter_name – namn på operationens parameter
  • parameter_value – parameterns värde (alltid inom dubbla citattecken)
  • datasource_name – namnet den här datakällan ska ha om operationens parametrar refererar till den
  • datasource_type – en av datauppsättningarna i Dataset

Namn på parametrar och fält är skiftlägeskänsliga, men det är inte operationer, parameteralternativ (som meters, minutes, osv.) eller nyckelord som SELECT och FROM.