从 GeoAnalytics 连接器 迁移到 Qlik GeoOperations | 迁移中心帮助
跳到主要内容

从 GeoAnalytics 连接器 迁移到 Qlik GeoOperations

上次更新日期:2025/12/11

在 Qlik Cloud 中的 Qlik GeoOperations 提供和 GeoAnalytics 连接器 在 Qlik Sense Enterprise on Windows 中的相似的功能和操作。它们还支持许多相同的数据格式。它们有以下差异:

  • Qlik GeoOperations 是一种高级分析集成 (AAI),它比连接器更适合发送和处理数据。

  • 高级分析集成的脚本语法与连接器的脚本语法不同。

  • 一些 GeoOperations 也可用在图表表达式中。

  • Qlik GeoOperations 返回单个表格。与 GeoAnalytics 连接器 返回的内容相比,表在 Qlik GeoOperations 中被联结。

  • 在 Qlik GeoOperations 中,某些字段和参数已重命名,从而更加一致。

以下概述了如何将 GeoAnalytics 连接器 向导生成的脚本转换为 Qlik GeoOperations:

  1. 在数据加载编辑器中于 GeoAnalytics 连接器 脚本代码内,将 SQL 之后直至第二个 SELECT 或 ";" 的所有内容复制,以先到者为准。
  2. 将 GeoAnalytics 连接器 脚本中的所有 ' 替换为 "。
  3. 将 GeoAnalytics 连接器 脚本中次要 SELECT 语句中选定的字段名添加到 GeoOperations 脚本中的第一个 SELECT 语句中。省略已经存在的任何字段。将源表名添加到字段名中,并用句点分隔。例如,table.field。这将创建一个联结的表,而不是多个表。

  4. 查看操作和数据集的参考文档,并根据需要调整任何参数或字段名称。

    运算

    数据集

    有关主要差异的摘要,请参阅 GeoOperations 和 GeoAnalytics 字段差异

  5. 将以下内容添加至 GeoOperations 脚本的开头:

    Load * Extension GeoOperations.ScriptEval('

  6. 将以下内容添加至 GeoOperations 脚本的末尾:

    ');

如果将加载的表与 GeoAnalytics 连接器 一起使用,请改为将其作为第二个参数发送给 GeoOperations.ScriptEval。

当 Qlik GeoOperations 返回联接表时,次要表只返回在主表中具有相应值的字段值。例如,如果要为某些点查找德国最近的机场,则只返回与这些点最近的机场相关的数据。如果您需要德国的所有机场,则需要使用 LOAD 操作单独加载机场。

如果使用连接器从 SQL 数据库加载数据,则应使用一个数据库连接器(如 ODBC 连接器)加载数据。确保将几何图形作为 WKT 加载(应用通常在 SQL 查询中名为 st_asText() 的函数)。然后通过将表发送到 Qlik GeoOperations 来转换 WKT 字段。然后,它将返回一个带有 Qlik Sense 格式几何体的字段。

示例脚本转换

此脚本转换示例将使用以下 GeoAnalytics 连接器 脚本:

/* Generated by GeoAnalytics for operation Cluster ---------------------- */ [ClusterAssociations]: SQL SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' SELECT [Clusters_ClusterID], [Clusters_ClusterCenter] FROM Clusters; [Clusters]: SQL LOAD * FROM Clusters; tag field [LocationDbId] with '$primarykey'; tag field [Clusters_ClusterID] with '$primarykey'; tag field [Clusters_ClusterCenter] with '$geopoint'; tag field [Clusters_ClusterID] with '$geoname'; tag field [Clusters_ClusterCenter] with '$relates_Clusters_ClusterID'; tag field [Clusters_ClusterID] with '$relates_Clusters_ClusterCenter'; /* End GeoAnalytics operation Cluster ----------------------------------- */

执行以下操作:

  1. 取用 SQL 和第二个 SELECT 语句之间的脚本。

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default'
  2. 替换引号:

    SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  3. 添加来自次要表的字段:

    SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default"
  4. 调整参数和字段名称:

    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"
  5. 在样板代码中附上:

    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。

Visit the discussion forum at community.qlik.com

本页面有帮助吗?

如果您发现此页面或其内容有任何问题 – 打字错误、遗漏步骤或技术错误 – 请告诉我们!