# GeoAnalytics コネクター から Qlik GeoOperations への移行

Qlik GeoOperations の Qlik Cloud は、GeoAnalytics コネクター が Qlik Sense Enterprise on Windows 内で実行するのと同様の機能と演算を提供します。また、同じデータ形式の多くをサポートしています。それらには次の違いがあります。

* Qlik GeoOperations は高度な分析統合 (AAI) であり、コネクタよりもデータの送信と処理に適しています。

* スクリプト構文は、高度な分析統合とコネクタで異なります。

* 一部の GeoOperations はチャートの数式でも使用できます。

* Qlik GeoOperations は 1 つのテーブルを返します。GeoAnalytics コネクター が返すものと比較して、テーブルは Qlik GeoOperations では結合されます。

* Qlik GeoOperations では、一部の項目とパラメーターの名前が変更され、一貫性が向上しています。

以下に、GeoAnalytics コネクター Wizard によって生成されたスクリプトを Qlik GeoOperations に変換する方法の概要を示します。

1. [データ ロード エディタ] の GeoAnalytics コネクター スクリプト コードで、`SQL` から 2 番目の SELECT または「`;`」のどちらか早い方まですべてをコピーします。

2. `'` スクリプトのすべての GeoAnalytics コネクター を `"` に置き換えます。

3. 選択した項目名を、SELECT スクリプトのセカンダリ GeoAnalytics コネクター ステートメントから SELECT スクリプトの最初の GeoOperations ステートメントに追加します。既に存在する項目はすべて省略してください。ソース テーブル名を項目名に追加し、ピリオドで区切ります。例えば、table.field とします。これにより、複数のテーブルではなく、1 つの結合テーブルが作成されます。

4. 演算とデータセットの参照ドキュメントを確認し、必要に応じてパラメータまたは項目名を調整します。

   [演算](https://help.qlik.com/ja-JP/cloud-services/Content/Ref-GeoOperationsService/connector-geoanalytics_reference-Operation.htm)

   [データセット](https://help.qlik.com/ja-JP/cloud-services/Content/Ref-GeoOperationsService/connector-geoanalytics_reference-Dataset.htm)

   主な相違点の概要については、次を参照してください [GeoOperations および GeoAnalytics の項目の相違点](https://help.qlik.com/ja-JP/migration/Content/Migration/migrate-geo-analytics.htm#GeoOperationsAndGeoAnalyticsFieldDifferences)

5. 次の内容を GeoOperations スクリプトの最初に追加します:

   `Load * Extension GeoOperations.ScriptEval('`

6. 次の内容を GeoOperations スクリプトの最後に追加します:

   `');`

ロードされたテーブルを GeoAnalytics コネクター で使用する場合は、代わりにセカンダリ パラメータとして `GeoOperations.ScriptEval` に送信します。

Qlik GeoOperations は結合されたテーブルを返すため、プライマリー テーブルに対応する値を持つ項目値のみがセカンダリー テーブルから返されます。例えば、ドイツでいくつかのポイントに最も近い空港を検索する場合、そのポイントに最も近い空港に関するデータのみが返されます。ドイツのすべての空港が必要な場合は、LOAD 演算で個別にロードする必要があります。

コネクタを使用して SQL データベースからロードする場合は、代わりに、ODBC コネクタなどのデータベース コネクタの 1 つを使用してデータをロードする必要があります。ジオメトリを WKT としてロードするようにしてください (`st_asText()` クエリで通常 SQL と呼ばれる関数を適用します)。次に、テーブルを WKT に送信して、Qlik GeoOperations 項目を変換します。次に、ジオメトリが 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 と 2 番目の 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: &lt;id&gt;, Address、AddressPoint、CountryIso2、Adm1、City、PostalCode、Street、HouseNumber、Match

* GeoAnalytics: [&lt;id&gt;]、[Dataset\_Address]、[Dataset\_Geometry]、[CountryIso2]、[Dataset\_Adm1]、[Dataset\_City]、[Dataset\_PostalCode]、[Dataset\_Street]、[Dataset\_HouseNumber]、[Dataset\_Match]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoAnalytics 項目にはデータセットのプレフィックスがある。

* Dataset\_Geometry は、 では AddressPointGeoOperations と呼ばれる。

ビニング

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、BinId、BinTable.BinPolygon、BinTable.CenterPoint

* GeoAnalytics: [&lt;id&gt;]、[RH2W3]、[RH2W3\_CenterPoint]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoAnalyticsでは、RH2W3 はポリゴン項目であり、その名前はグリッド サイズ/比率に基づいて生成される。GeoOperations では、項目は BinTable.BinPolygon である。

* GeoAnalytics には BinId 項目がない。

[Within] ではなく

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: dataset\_dataset2\_RelationId、dataset.&lt;ds1 id&gt;、dataset2.&lt;ds2 id&gt;、Distance

* GeoAnalytics: [Dataset1\_Dataset2\_RelationId]、[Dataset1.&lt;ds1 id&gt;]、[Dataset2.&lt;ds2 id&gt;]、[Dataset1\_Dataset2\_Distance]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations には Distance 項目のプレフィックスがない。

クラスター

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、ClusterID、Clusters.ClusterPoint、Clusters.PointCount

* GeoAnalytics: [&lt;id&gt;]、[Clusters\_ClusterID]、[Clusters\_ClusterCenter]、[Clusters\_PointCount]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

融合

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、DissolvedPolygon

* GeoAnalytics: [&lt;id&gt;]、[&lt;id&gt;\_Geometry]

GeoAnalytics および GeoOperations には次の違いがあります。

* ジオメトリ列の名前

交差

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: dataset\_dataset2\_RelationId、dataset.&lt;dataset1 id&gt;、dataset2.&lt;dataset2 id&gt;、dataset.RelativeOverlap、 dataset2.RelativeOverlap

* GeoAnalytics: [Dataset1\_Dataset2\_RelationKey]、[Dataset1.&lt;ds1 id&gt;]、 [Dataset2.&lt;ds1 id&gt;]、[Dataset1\_RelativeOverlap]、[Dataset2\_RelativeOverlap]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

IpLookup

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、 IpPoint、CountryIso2、Adm1Code、City

* GeoAnalytics: [&lt;id&gt;]、[IpTable\_Geometry]、[CountryIso2]、[IpTable\_Adm1Code]、[IpTable\_City]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoAnalytics の IpTable\_Geometry は GeoOperations の IpPoint である。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

Load (場所のデータセット)

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: &lt;id&gt;, Address、AddressPoint、CountryIso2、Adm1、City、PostalCode、Street、HouseNumber、Distance

* GeoAnalytics: [&lt;id&gt;]、[Dataset\_Address]、[Dataset\_Geometry]、[CountryIso2]、[Dataset\_Adm1]、[Dataset\_City]、[Dataset\_PostalCode]、[Dataset\_Street]、[Dataset\_HouseNumber]、[Dataset\_Distance]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

ルート

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、Distance、Duration、Status、LowResLine

* GeoAnalytics: [&lt;id&gt;]、[Dataset\_Distance]、[Dataset\_Duration]、[Dataset\_Status]、[Dataset\_PathLowRes]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoAnalytics のジオメトリ項目 Dataset\_PathLowRes は、GeoOperations の LowResLine である。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

簡素化

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、Simplified\_&lt;geo field name&gt;

* GeoAnalytics: [&lt;id&gt;]、[Dataset\_Simplified\_Geometry]

.GeoAnalyticsとGeoOperationsには、以下の違いがあります。

* ジオメトリ項目の名前は、GeoOperations と GeoAnalytics で異なる。

TravelAreas

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: &lt;id&gt;、TravelArea、Cost、CostUnit、Status

* GeoAnalytics: [&lt;id&gt;]、[Dataset\_TravelArea]、[Dataset\_Origin]、[Dataset\_Cost]、[Dataset\_CostUnit]、[Dataset\_Status]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations 原点項目は含まれない。

* GeoOperations と GeoAnalytics ではプレフィックスが異なる。

使用する方が良い場合があります

GeoOperations および GeoAnalytics は、次の項目を返します。

* GeoOperations: dataset\_dataset2\_RelationId、dataset.&lt;dataset1 id&gt;、dataset2.&lt;dataset2 id&gt;

* GeoAnalytics: [Enclosed\_Enclosing\_RelationId]、[Enclosed.&lt;dataset 1/2 id&gt;]、[Enclosing.&lt;datasets 1/2 id&gt;]

GeoAnalytics および GeoOperations には次の違いがあります。

* GeoOperations プレフィックスにはデータセット名が含まれるが、GeoAnalytics には Enclosed のプレフィックスも含まれる。