从 GeoAnalytics 连接器 迁移到 Qlik GeoOperations
在 Qlik Cloud 中的 Qlik GeoOperations 提供和 GeoAnalytics 连接器 在 Qlik Sense Enterprise on Windows 中的相似的功能和操作。它们还支持许多相同的数据格式。它们有以下差异:
-
Qlik GeoOperations 是一种高级分析集成 (AAI),它比连接器更适合发送和处理数据。
-
高级分析集成的脚本语法与连接器的脚本语法不同。
-
一些 GeoOperations 也可用在图表表达式中。
-
Qlik GeoOperations 返回单个表格。与 GeoAnalytics 连接器 返回的内容相比,表在 Qlik GeoOperations 中被联结。
-
在 Qlik GeoOperations 中,某些字段和参数已重命名,从而更加一致。
以下概述了如何将 GeoAnalytics 连接器 向导生成的脚本转换为 Qlik GeoOperations:
- 在数据加载编辑器中于 GeoAnalytics 连接器 脚本代码内,将 SQL 之后直至第二个 SELECT 或 ";" 的所有内容复制,以先到者为准。
- 将 GeoAnalytics 连接器 脚本中的所有 ' 替换为 "。
-
将 GeoAnalytics 连接器 脚本中次要 SELECT 语句中选定的字段名添加到 GeoOperations 脚本中的第一个 SELECT 语句中。省略已经存在的任何字段。将源表名添加到字段名中,并用句点分隔。例如,table.field。这将创建一个联结的表,而不是多个表。
-
查看操作和数据集的参考文档,并根据需要调整任何参数或字段名称。
有关主要差异的摘要,请参阅 GeoOperations 和 GeoAnalytics 字段差异
-
将以下内容添加至 GeoOperations 脚本的开头:
Load * Extension GeoOperations.ScriptEval('
-
将以下内容添加至 GeoOperations 脚本的末尾:
');
如果将加载的表与 GeoAnalytics 连接器 一起使用,请改为将其作为第二个参数发送给 GeoOperations.ScriptEval。
当 Qlik GeoOperations 返回联接表时,次要表只返回在主表中具有相应值的字段值。例如,如果要为某些点查找德国最近的机场,则只返回与这些点最近的机场相关的数据。如果您需要德国的所有机场,则需要使用 LOAD 操作单独加载机场。
如果使用连接器从 SQL 数据库加载数据,则应使用一个数据库连接器(如 ODBC 连接器)加载数据。确保将几何图形作为 WKT 加载(应用通常在 SQL 查询中名为 st_asText() 的函数)。然后通过将表发送到 Qlik GeoOperations 来转换 WKT 字段。然后,它将返回一个带有 Qlik Sense 格式几何体的字段。
示例脚本转换
此脚本转换示例将使用以下 GeoAnalytics 连接器 脚本:
执行以下操作:
-
取用 SQL 和第二个 SELECT 语句之间的脚本。
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' -
替换引号:
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
添加来自次要表的字段:
SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
调整参数和字段名称:
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" -
在样板代码中附上:
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" ');
该脚本代码现在可结合 Qlik GeoOperations 使用。
GeoOperations 和 GeoAnalytics 字段差异
GeoOperations 和 GeoAnalytics 脚本之间的默认字段存在差异,通常带有前缀。将 GeoAnalytics 脚本迁移到 GeoOperations 时,可能需要调整一些字段名。
AddressToPoint
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、Address、AddressPoint、CountryIso2、Adm1、城市、PostalCode、Street、HouseNumber、Match
-
GeoAnalytics: [<id>]、[Dataset_Address]、[Dataset_Geometry]、[CountryIso2]、[Dataset_Adm1]、[Dataset_City]、[Dataset_PostalCode]、[Dataset_Street]、[Dataset_HouseNumber]、[Dataset_Match]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoAnalytics 字段具有数据集中的前缀。
-
Dataset_Geometry 称为 GeoOperations 中的 AddressPoint 。
分级
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、BinId、BinTable.BinPolygon、BinTable.CenterPoint
-
GeoAnalytics: [<id>]、[RH2W3]、[RH2W3_CenterPoint]
GeoAnalytics 和 GeoOperations 有以下差异:
-
在 GeoAnalytics 中,RH2W3 是多边形字段,其名称是基于网格大小/比例生成的。在 GeoOperations 中,字段为 BinTable.BinPolygon。
-
GeoAnalytics 没有 BinId 字段。
最接近
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations:dataset_dataset2_RelationId、dataset.<ds1 id>、dataset2.<ds2 id>、Distance
-
GeoAnalytics:[Dataset1_Dataset2_RelationId]、[Dataset1.<ds1 id>]、[Dataset2.<ds2 id>]、[Dataset1_Dataset2_Distance]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoOperations 没有 Distance 字段的前缀。
群集
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、ClusterID、Clusters.ClusterPoint、Clusters.PointCount
-
GeoAnalytics: [<id>]、[Clusters_ClusterID]、[Clusters_ClusterCenter]、[Clusters_PointCount]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
解除
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、DissolvedPolygon
-
GeoAnalytics: [<id>]、[<id>_Geometry]
GeoAnalytics 和 GeoOperations 有以下差异:
-
几何列的名称
相交
GeoOperations 和 GeoAnalytics 返回以下字段:
-
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]
GeoAnalytics 和 GeoOperations 有以下关键差异:
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
IpLookup
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、 IpPoint、CountryIso2、Adm1Code、City
-
GeoAnalytics: [<id>]、[IpTable_Geometry]、[CountryIso2]、[IpTable_Adm1Code]、[IpTable_City]
GeoAnalytics 和 GeoOperations 有以下差异:
-
在 GeoAnalytics 中的 IpTable_Geometry 为 GeoOperations 中的 IpPoint。
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
加载(位置数据集)
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations(面积):LocationDbId、LocationPolygon、Name、CountryIso2、Adm1Code、Adm2Code、LocationDbType
-
GeoOperations(点):LocationDbId、LocationPoint、Name、CountryIso2、Adm1Code、Adm2Code、LocationDbType
-
GeoAnalytics:[LocationDbId]、[Dataset_Geometry]、[Dataset_Name]、[CountryIso2]、[Dataset_Adm1Code]、[Dataset_Adm2Code]、[LocationDbType]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoAnalytics 中的几何图形字段 (LocationPolygon 和 LocationPoint 为 GeoOperations 中的 Dataset_Geometry。
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
PointToAddress
GeoOperations 和 GeoAnalytics 返回以下字段:
-
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]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
路线
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、Distance、Duration、Status、LowResLine
-
GeoAnalytics: [<id>]、[Dataset_Distance]、 [Dataset_Duration]、[Dataset_Status]、[Dataset_PathLowRes]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoAnalytics 中的几何图形字段 Dataset_PathLowRes 为 GeoOperations 中的 LowResLine。
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
简化
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、Simplified_<geo field name>
-
GeoAnalytics: [<id>]、[Dataset_Simplified_Geometry]
.GeoAnalytics 和 GeoOperations 有以下差异:
-
几何图形字段的名称在 GeoOperations 和 GeoAnalytics 之间不同。
TravelAreas
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations: <id>、TravelArea、Cost、CostUnit、Status
-
GeoAnalytics: [<id>]、[Dataset_TravelArea]、[Dataset_Origin]、[Dataset_Cost]、[Dataset_CostUnit]、[Dataset_Status]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoOperations 不包括原点字段。
-
GeoOperations 和 GeoAnalytics 之间的前缀不同。
之内
GeoOperations 和 GeoAnalytics 返回以下字段:
-
GeoOperations:dataset_dataset2_RelationId、dataset.<dataset1 id>、dataset2.<dataset2 id>
-
GeoAnalytics:[Enclosed_Enclosing_RelationId]、[Enclosed.<dataset 1/2 id>]、[Enclosing.<datasets 1/2 id>]
GeoAnalytics 和 GeoOperations 有以下差异:
-
GeoOperations 前缀包括数据集名称,同时 GeoAnalytics 还包括前缀 Enclosed。