跳到主要内容

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

  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 使用。

GeoOperationsGeoAnalytics 字段差异

GeoOperationsGeoAnalytics 脚本之间的默认字段存在差异,通常带有前缀。将 GeoAnalytics 脚本迁移到 GeoOperations 时,可能需要调整一些字段名。

AddressToPoint

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>AddressAddressPointCountryIso2Adm1城市PostalCodeStreetHouseNumberMatch

  • GeoAnalytics: [<id>][Dataset_Address][Dataset_Geometry][CountryIso2][Dataset_Adm1][Dataset_City][Dataset_PostalCode][Dataset_Street][Dataset_HouseNumber][Dataset_Match]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoAnalytics 字段具有数据集中的前缀。

  • Dataset_Geometry 称为 GeoOperations 中的 AddressPoint

分级

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>BinIdBinTable.BinPolygonBinTable.CenterPoint

  • GeoAnalytics: [<id>][RH2W3][RH2W3_CenterPoint]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoAnalytics 中,RH2W3 是多边形字段,其名称是基于网格大小/比例生成的。在 GeoOperations 中,字段为 BinTable.BinPolygon

  • GeoAnalytics 没有 BinId 字段。

最接近

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperationsdataset_dataset2_RelationIddataset.<ds1 id>dataset2.<ds2 id>Distance

  • GeoAnalytics[Dataset1_Dataset2_RelationId][Dataset1.<ds1 id>][Dataset2.<ds2 id>][Dataset1_Dataset2_Distance]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoOperations 没有 Distance 字段的前缀。

群集

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>ClusterIDClusters.ClusterPointClusters.PointCount

  • GeoAnalytics: [<id>][Clusters_ClusterID][Clusters_ClusterCenter][Clusters_PointCount]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoOperationsGeoAnalytics 之间的前缀不同。

解除

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>DissolvedPolygon

  • GeoAnalytics: [<id>][<id>_Geometry]

GeoAnalyticsGeoOperations 有以下差异:

  • 几何列的名称

相交

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperationsdataset_dataset2_RelationIddataset.<dataset1 id>dataset2.<dataset2 id>dataset.RelativeOverlap dataset2.RelativeOverlap

  • GeoAnalytics[Dataset1_Dataset2_RelationKey][Dataset1.<ds1 id>][Dataset2.<ds1 id>][Dataset1_RelativeOverlap][Dataset2_RelativeOverlap]

GeoAnalyticsGeoOperations 有以下关键差异:

  • GeoOperationsGeoAnalytics 之间的前缀不同。

IpLookup

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id> IpPointCountryIso2Adm1CodeCity

  • GeoAnalytics: [<id>][IpTable_Geometry][CountryIso2][IpTable_Adm1Code][IpTable_City]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoAnalytics 中的 IpTable_GeometryGeoOperations 中的 IpPoint

  • GeoOperationsGeoAnalytics 之间的前缀不同。

加载(位置数据集)

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations(面积):LocationDbIdLocationPolygonNameCountryIso2Adm1CodeAdm2CodeLocationDbType

  • GeoOperations(点):LocationDbIdLocationPointNameCountryIso2Adm1CodeAdm2CodeLocationDbType

  • GeoAnalytics[LocationDbId][Dataset_Geometry][Dataset_Name][CountryIso2][Dataset_Adm1Code][Dataset_Adm2Code][LocationDbType]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoAnalytics 中的几何图形字段 (LocationPolygonLocationPointGeoOperations 中的 Dataset_Geometry

  • GeoOperationsGeoAnalytics 之间的前缀不同。

PointToAddress

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations<id>AddressAddressPointCountryIso2Adm1CityPostalCodeStreetHouseNumberDistance

  • GeoAnalytics: [<id>][Dataset_Address][Dataset_Geometry][CountryIso2][Dataset_Adm1][Dataset_City][Dataset_PostalCode][Dataset_Street][Dataset_HouseNumber][Dataset_Distance]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoOperationsGeoAnalytics 之间的前缀不同。

路线

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>DistanceDurationStatusLowResLine

  • GeoAnalytics: [<id>][Dataset_Distance] [Dataset_Duration][Dataset_Status][Dataset_PathLowRes]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoAnalytics 中的几何图形字段 Dataset_PathLowResGeoOperations 中的 LowResLine

  • GeoOperationsGeoAnalytics 之间的前缀不同。

简化

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>Simplified_<geo field name>

  • GeoAnalytics: [<id>][Dataset_Simplified_Geometry]

.GeoAnalyticsGeoOperations 有以下差异:

  • 几何图形字段的名称在 GeoOperationsGeoAnalytics 之间不同。

TravelAreas

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperations: <id>TravelAreaCostCostUnitStatus

  • GeoAnalytics: [<id>][Dataset_TravelArea][Dataset_Origin][Dataset_Cost][Dataset_CostUnit][Dataset_Status]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoOperations 不包括原点字段。

  • GeoOperationsGeoAnalytics 之间的前缀不同。

之内

GeoOperationsGeoAnalytics 返回以下字段:

  • GeoOperationsdataset_dataset2_RelationIddataset.<dataset1 id>dataset2.<dataset2 id>

  • GeoAnalytics[Enclosed_Enclosing_RelationId][Enclosed.<dataset 1/2 id>][Enclosing.<datasets 1/2 id>]

GeoAnalyticsGeoOperations 有以下差异:

  • GeoOperations 前缀包括数据集名称,同时 GeoAnalytics 还包括前缀 Enclosed

Visit the discussion forum at community.qlik.com

本页面有帮助吗?

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