Scripts uitvoeren met Qlik GeoOperations
Qlik GeoOperations-connectoren maakt en formatteert GeoOperations-scripts voor u. U kunt deze scripts aanpassen in Editor voor laden van gegevens. U kunt ook handmatig scripts uitvoeren met GeoOperations-functies in plaats van dat u Qlik GeoOperations-connectoren gebruikt.
Hoe werkt Qlik GeoOperations?
Eerst voegt u een Qlik GeoOperations-connector toe als gegevensbron. In de Editor voor laden van gegevens in uw app, nadat u gegevens hebt geselecteerd om te laden van de connector, kunt u selecteren welke bewerkingen moeten worden uitgevoerd en welke parameters moeten worden toegepast. De Qlik GeoOperations-connector voegt vervolgens het overeenkomende GeoOperations-script toe aan uw load-script. U kunt dit script ook handmatig toevoegen.
Elk bewerkingsscript bevat een load-instructie die selecteert welke gegevens en welke bewerking worden gebruikt. Deze worden verzonden naar de GeoOperations-extensie in het load-script. De extensie aan de kant van de server retourneert vervolgens de gegevens. Qlik GeoOperations maakt een geavanceerd analyse-integratie-object genaamd GeoOperations beschikbaar in de scripttaal. Hiermee wordt de functie ScriptEval beschikbaar voor het verzenden van het script en de tabel naar de extensie.
Het volgende is bijvoorbeeld het load-script voor het toepassen van de bewerking Travel areas op de eerder geladen tabel MyPoints en het specificeren van parameters voor de grootte/kosten van het reisgebied:
Het script wordt als de eerste parameter naar ScriptEval gestuurd en de tabel als de tweede.
De GeoOperations zijn functies die bewerkingen uitvoeren op gegevensverzamelingen. De gegevensverzamelingen zijn afkomstig van gegevens die zijn geladen in Qlik Sense of uit externe bronnen zoals geografische bestanden of de locatieservice. De gegevens die vanuit het script worden verzonden, zijn beschikbaar als een gegevensverzameling met de naam INTABLE. Als u aanvullende parameters voor die gegevens wilt opgeven, moet u deze na de functieaanroep declareren als een DATASOURCE. Bijvoorbeeld:
Andere gegevensbronnen moeten altijd worden gedeclareerd en parameters zoals URL's moeten worden gespecificeerd. Voor elke bewerking kunt u de gegevensbronnen specificeren die moeten worden gebruikt. Standaard halen bewerkingen de beschikbare gegevensverzamelingen op, zoals in Bewerking (alleen in het Engels) voor elke afzonderlijke bewerking is beschreven.
GeoOperations-velden selecteren en hernoemen
GeoOperations-functies retourneren velden. Standaard worden alle velden geretourneerd en opgenomen. U kunt GeoOperations-functies vooraf laten gaan door een SELECT-opdracht om specifieke velden waarin u geïnteresseerd bent te selecteren en eventueel optioneel te hernoemen. Bijvoorbeeld, dit script gebruikt SELECT om slechts twee van de postcodevelden van de locatieservice te laden:
Load * Extension GeoOperations.ScriptEval('
SELECT Name as PostalCode, LocationArea FROM
Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');
Het gebruik van een SELECT-opdracht in het GeoOperations-script kan efficiënter zijn dan het specificeren van velden in een Qlik LOAD-opdracht, omdat de gegevens niet worden geladen in Qlik Sense als deze niet in het GeoOperations-script zijn geselecteerd.
SELECT kan worden gebruikt om te voorkomen dat sommige velden worden berekend door ervoor te kiezen dat ze niet worden geretourneerd in de resultaten. De relatieve overlapvelden die worden geretourneerd door Intersects kunnen bijvoorbeeld worden uitgesloten.
Als u dezelfde bewerking meerdere keren gebruikt in uw load-script, kunt u een SELECT-opdracht gebruiken om de velden te hernoemen.
Scriptsyntaxis
Het script dat is verzonden naar GeoOperations heeft de volgende syntaxis:
1. Bewerking
De eenvoudigste vorm van het script voert een bewerking uit.
Syntaxis:
Operation(paramName="paramValue", ...)
Voorbeeld:
Cluster(distance="100000")
Raadpleeg voor meer informatie de lijst met bewerkingen en de bijbehorende parameters.
2. Gegevensverzameling
De tweede stap is om een gegevensverzameling te laden die op uw gekozen bewerking(en) moet worden toegepast.
Syntaxis:
Operation(paramName="paramValue", ...)
DATASOURCE name TYPE paramName="paramvalue", ...
Voorbeeld:
Within()
DATASOURCE states LOCATIONSERVICE type="STATE", country="US"
Raadpleeg voor meer informatie de lijst met gegevensverzamelingen en de bijbehorende parameters.
3. Samenvoegen
Dit is hoe een voltooid script eruit zal zien in de Editor voor laden van gegevens:
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable);
In dit voorbeeld kan MyTable een andere geladen tabel met punten, lijnen, gebieden met naam of andere geografische gegevens zijn.
4. Filtervelden
Met de volgende aanvullingen kunnen de resultaten van de bewerking verder worden gefilterd.
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
SELECT Name, states.Name as State FROM
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable{Name, Point});
Parameternamen en veldnamen zijn hoofdlettergevoelig, maar parameteropties voor bewerkingen (zoals meters, minutes, , enzovoort) of sleutelwoorden zoals SELECT en FROM zijn dat niet.