Migrando do Conector GeoAnalytics para o Qlik GeoOperations
O Qlik GeoOperations no Qlik Cloud fornece recursos e operações semelhantes ao que o Conector GeoAnalytics faz no Qlik Sense Enterprise on Windows. Eles também oferecem suporte a muitos dos mesmos formatos de dados. Eles têm as seguintes diferenças:
-
O Qlik GeoOperations é uma Integração Analítica Avançada (AAI), que é mais adequado para enviar e processar dados do que um conector.
-
A sintaxe do script é diferente para Integrações Analíticas Avançadas e para conectores.
-
Algumas GeoOperations também podem ser usadas em expressões de gráfico.
-
O Qlik GeoOperations retorna uma única tabela. Em comparação com o que o Conector GeoAnalytics retorna, as tabelas são unidas no Qlik GeoOperations.
-
No Qlik GeoOperations, alguns campos e parâmetros foram renomeados para serem mais consistentes.
O seguinte descreve como converter o script produzido pelo Conector GeoAnalytics para o Qlik GeoOperations:
- No Editor de carregamento de dados, no código de script do Conector GeoAnalytics, copie tudo depois de SQL até o segundo SELECT ou ";", o que vier primeiro.
- Substitua todos ' no script do Conector GeoAnalytics por ".
-
Adicione os nomes de campo selecionados do comando SELECT secundário no script Conector GeoAnalytics ao primeiro comando SELECT no script do GeoOperations. Omita todos os campos que já estão lá. Adicione o nome da tabela de origem aos nomes dos campos, separando-os com um ponto. Por exemplo, tabela.campo. Isso criará uma única tabela unida em vez de várias tabelas.
-
Revise a documentação de referência para a operação e o conjunto de dados e ajuste quaisquer parâmetros ou nomes de campo quando necessário.
Para obter um resumo das principais diferenças, consulte Diferenças de campos entre o GeoOperations e o GeoAnalytics
-
Adicione o seguinte ao início do script GeoOperations:
Load * Extension GeoOperations.ScriptEval('
-
Adicione o seguinte ao final do script do GeoOperations:
');
Se estiver usando uma tabela carregada com o Conector GeoAnalytics, envie-a como o segundo parâmetro para GeoOperations.ScriptEval.
Como o Qlik GeoOperations retorna uma tabela unida, apenas os valores de campo que possuem um valor correspondente na tabela principal são retornados das tabelas secundárias. Por exemplo, se você deseja encontrar os aeroportos mais próximos na Alemanha para alguns pontos, apenas os dados sobre os aeroportos que estão mais próximos dos pontos serão retornados. Se você quiser todos os aeroportos da Alemanha, eles precisam ser carregados separadamente com uma operação LOAD .
Se estiver carregando de um banco de dados SQL com o conector, os dados devem ser carregados com um dos conectores de banco de dados como o conector ODBC. Certifique-se de carregar as geometrias como WKT (aplique uma função normalmente chamada st_asText() na consulta SQL). Em seguida, converta o campo WKT enviando a tabela para o Qlik GeoOperations. Isso retornará um campo com as geometrias no formato do Qlik Sense.
Exemplo de conversão de script
Este exemplo de conversão de script usará o seguinte script do Conector GeoAnalytics:
Faça o seguinte:
-
Pegue o script entre SQL e o segundo comando SELECT.
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' -
Substitua as aspas:
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Adicione campos de tabelas secundárias:
SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Ajuste os parâmetros e os nomes dos campos:
SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Coloque em código padrão:
Load * Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');
Este código de script agora pode ser usado com o Qlik GeoOperations.
Diferenças de campos entre o GeoOperations e o GeoAnalytics
Os campos padrão entre scripts do GeoOperations e do GeoAnalytics têm diferenças, geralmente com prefixos. Ao migrar seu scripts do GeoAnalytics para o GeoOperations, talvez seja necessário ajustar alguns dos nomes de campo.
AddressToPoint
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os campos do GeoAnalytics têm prefixos do conjunto de dados.
-
Dataset_Geometry se chama AddressPoint no GeoOperations.
Compartimentação
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint
-
GeoAnalytics: [<id>], [RH2W3], [RH2W3_CenterPoint]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
No GeoAnalytics, RH2W3 é o campo do polígono e seu nome é gerado com base no tamanho/proporção da grade. No GeoOperations o campo é BinTable.BinPolygon.
-
O GeoAnalytics não tem um campo BinId.
Mais próximo
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance
-
GeoAnalytics: [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
O GeoOperations não tem prefixos para o campo Distance.
Conjunto
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount
-
GeoAnalytics: [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os prefixos são diferentes entre o GeoOperations e o GeoAnalytics.
Dissolver
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, DissolvedPolygon
-
GeoAnalytics: [<id>], [<id>_Geometry]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Nome da coluna de geometria
Interseções
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap
-
GeoAnalytics: [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças fundamentais:
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
IpLookup
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, IpPoint, CountryIso2, Adm1Code, City
-
GeoAnalytics: [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
IpTable_Geometry no GeoAnalytics é IpPoint no GeoOperations.
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
Load (conjunto de dados de localização)
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations (área): LocationDbId, LocationPolygon, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoOperations (ponto): LocationDbId, LocationPoint, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoAnalytics: [LocationDbId], [Dataset_Geometry], [Dataset_Name], [CountryIso2], [Dataset_Adm1Code], [Dataset_Adm2Code], [LocationDbType]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os campos de geometria (LocationPolygon e LocationPoint no GeoAnalytics são Dataset_Geometry no GeoOperations.
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
PointToAddress
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Distance]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
Rotas
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, Distance, Duration, Status, LowResLine
-
GeoAnalytics: [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
O campo de geometria Dataset_PathLowRes no GeoAnalytics é LowResLine no GeoOperations.
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
Simplificar
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, Simplificado_<nome do campo geográfico>
-
GeoAnalytics: [<id>], [Dataset_Simplified_Geometry]
.O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os nomes do campo de geometria são diferentes entre o GeoOperations e o GeoAnalytics.
TravelAreas
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: <id>, TravelArea, Cost, CostUnit, Status
-
GeoAnalytics: [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
O GeoOperations não inclui um campo de origem.
-
Os prefixos entre o GeoOperations e o GeoAnalytics são diferentes.
Dentro
O GeoOperations e o GeoAnalytics retornam os seguintes campos:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>
-
GeoAnalytics: [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]
O GeoAnalytics e o GeoOperations têm as seguintes diferenças:
-
Os prefixos do GeoOperations incluem nomes de conjuntos de dados, enquanto o GeoAnalytics também inclui o prefixo Enclosed.