Criando scripts com Qlik GeoOperations
Os conectores Qlik GeoOperations criam e formatam scripts GeoOperations para você. Você pode modificar esses scripts no Editor da carga de dados. Também pode criar scripts manualmente com funções GeoOperations em vez de usar conectores Qlik GeoOperations.
Como funciona o Qlik GeoOperations
Primeiro, você adiciona um conector Qlik GeoOperations como fonte de dados. No Editor da carga de dados, no seu aplicativo, ao selecionar dados a serem carregados do conector, você pode selecionar as operações a serem realizadas e os parâmetros a serem aplicados. Em seguida, o conector Qlik GeoOperations adiciona o script GeoOperations correspondente ao seu script de carregamento. Você também pode adicionar esse script manualmente.
Cada script de operações consiste em uma instrução de carregamento que seleciona o uso de dados e a operação. Estes são enviados à extensão GeoOperations no script de carregamento. Em seguida, a extensão no lado do servidor retorna os dados. O Qlik GeoOperations torna um objeto do Advanced Analytics Integration chamado GeoOperations disponível na linguagem de script. Isso fornece a função ScriptEval para enviar o script e a tabela à extensão.
Por exemplo, o seguinte é o script de carregamento para aplicar a operação Áreas de viagem à tabela Meus pontos carregada anteriormente e especificar parâmetros para o tamanho/custo da área de viagem:
O script é enviado como o primeiro parâmetro para ScriptEval e a tabela como o segundo.
O GeoOperations são funções que operam em conjuntos de dados. Os conjuntos de dados vêm de dados carregados no Qlik Sense ou de fontes externas, como arquivos geográficos ou o serviço de localização. Os dados enviados do script estão disponíveis como um conjunto de dados denominado INTABLE. Se você deseja especificar parâmetros adicionais nesses dados, você precisa declará-los após a chamada de função como um DATASOURCE. Por exemplo:
Outras fontes de dados sempre precisam ser declaradas, e parâmetros como URLs precisam ser especificados. Em cada operação, você pode especificar as fontes de dados a serem usadas. Por padrão, as operações selecionam os conjuntos de dados disponíveis conforme descrito para cada operação em Operação (somente em inglês).
Selecionando e renomeando campos do GeoOperations
As funções do GeoOperations retornam campos. Por padrão, todos os campos são retornados e incluídos. Você pode preceder as funções do GeoOperations com uma instrução SELECT para selecionar e, opcionalmente, renomear campos específicos de interesse. Por exemplo, este script usa SELECT para carregar apenas dois dos campos de código postal do serviço de localização:
Load * Extension GeoOperations.ScriptEval('
SELECT Name as PostalCode, LocationArea FROM
Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');
Usar um comando SELECT no script GeoOperations pode ser mais eficiente do que especificar campos no comando Qlik LOAD, pois os dados não são carregados no Qlik Sense se não estiverem selecionados no script do GeoOperations.
O SELECT pode ser usado para evitar o cálculo de alguns campos, optando-se por não retorná-los nos resultados. Por exemplo, os campos de sobreposição relativos retornados por Intersects podem ser excluídos.
Se você estiver usando a mesma operação várias vezes em seu script de carregamento, use um comando SELECT para renomear os campos.
Sintaxe do script
O script enviado ao GeoOperations tem a seguinte sintaxe:
1. Operação
A forma mais simples do script executa uma operação.
Sintaxe:
Operation(paramName="paramValue", ...)
Exemplo:
Cluster(distance="100000")
Para obter mais informações, consulte a lista de operações e seus parâmetros.
2. Conjunto de dados
A segunda etapa é carregar um conjunto de dados para as operações escolhidas a serem aplicadas.
Sintaxe:
Operation(paramName="paramValue", ...)
DATASOURCE name TYPE paramName="paramvalue", ...
Exemplo:
Within()
DATASOURCE states LOCATIONSERVICE type="STATE", country="US"
Para obter mais informações, consulte a lista de conjuntos de dados e seus parâmetros.
3. Reunindo tudo
É assim que o script completo ficaria no Editor da carga de dados:
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable);
Neste exemplo, MyTable pode ser qualquer outra tabela carregada contendo pontos, linhas, áreas nomeadas ou outros dados geográficos.
4. Filtrar campos
As adições a seguir permitem que os resultados da operação sejam filtrados ainda mais.
[MyPointsInStates]:
Load * Extension GeoOperations.ScriptEval(’
SELECT Name, states.Name as State FROM
Within()
DATASOURCE states LOCATIONSERVICE type=”STATE”, country=”US”
’, MyTable{Name, Point});
Nomes de parâmetros e nomes de campos diferenciam maiúsculas de minúsculas, mas o mesmo não ocorre com operações, opções de parâmetros (como meters, minutes, car e assim por diante) ou palavras-chave, como SELECT e FROM.