メイン コンテンツをスキップする

Qlik Sense GeoOperations

Qlik Sense GeoOperations は地理的な計算と、ルートや移動エリアの計算などの機能を有効にします。また、GeoJSON および ESRI シェープファイルから地理データをロードすることもできます。

で利用できません:Qlik Sense Enterprise SaaS - Government (US)Qlik Sense GeoOperations をサポートしていません。

Qlik Sense GeoOperationsQlik Sense GeoAnalytics との高度な分析統合として利用可能であり、Qlik Cloud Services で利用可能です。

Qlik Sense GeoOperations を使用すると、次のようなデータの地理的な問題を解決できます。

  • 店舗の場所から車で 15 分以内に住んでいる顧客の数を特定します
  • GPS の位置を会場、地域、または道路網にリンクします
  • 自治体のリストからカスタム販売エリアを構築します
  • 患者のリストに最も近い病院を見つけます

GeoOperations 関数は、データ ロード スクリプトとビジュアライゼーションの数式の両方で、スクリプトで使用できます。GeoOperations 関数は、外部ファイルまたは Qlik GeoAnalytics ロケーション サービスから地理データセットをロードするためのアクセスを提供します。GeoOperations 関数は、地理データの変換や計算にも使用できます。

注: GeoOperations の使用方法の例については、[GeoOperations の例] を参照してください。

GeoOperations の動作

Qlik Sense GeoOperations は、スクリプトの小片とオプションでテーブルをロードス クリプトの GeoOperations 拡張機能に送信することで機能します。次に、拡張機能はデータを返します。GeoOperations は、スクリプトとテーブルを拡張機能に送信するための関数 ScriptEval を提供するスクリプト言語で GeoOperations と呼ばれる高度な分析統合オブジェクトを使用できるようにします。例えば、以下は、TravelAreas 演算子を以前にロードされたテーブル MyPoints に適用し、移動領域のサイズ/コストのパラメーターを指定するためのロード スクリプトです。

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")', MyPoints);

 

スクリプトは最初のパラメーターとして ScriptEval に送信され、テーブルは 2 番目のパラメーターとして送信されます。

GeoOperations はデータセットを操作する関数です。データセットは、Qlik Sense にロードされたデータ、または地理ファイルやロケーション サービスなどの外部ソースから取得されます。スクリプトから送信されたデータは、INTABLE という名前のデータセットとして利用できます。そのデータに追加のパラメーターを指定する場合は、関数呼び出しの後に DATASOURCE として宣言する必要があります。例:

Load * Extension GeoOperations.ScriptEval('TravelAreas(costValue="10", costUnit="Minutes")

DATASOURCE myPoints INTABLE pointField="Point"', MyPoints);

 

他のタイプのデータ ソースは常に宣言する必要があり、URL などのパラメーターを指定する必要があります。各演算子で、使用するデータ ソースを指定できます。既定では、演算子はそれを使用して、利用可能なデータセットを取得します。

GeoOperations を使用する場所

すべての演算子は、データ ロード スクリプトで使用できます。特定の演算子をマップのチャート スクリプトで使用して、動的計算を有効にすることもできます。選択が変更されるたびに、演算子が実行されます。GeoOperations がチャートで使用されている場合、データはデータ モデルに入らないため、そのデータをさらに分析することはできません。

GeoOperations 項目の選択と名前の変更

GeoOperations 関数は項目を返します。既定では、すべての項目が返され、含まれます。GeoOperations 関数の前に SELECT ステートメントを付けて、関心のある特定の項目を選択し、オプションで名前を変更することができます。例えば、このスクリプトは SELECT を使用して、ロケーション サービスから 2 つの郵便番号項目のみをロードします。

Load * Extension GeoOperations.ScriptEval('

SELECT Name as PostalCode, LocationArea FROM

Load() DATASOURCE PostalCodes LOCATIONSERVICE type="PostalCode", country="se"');

 

GeoOperations スクリプトでデータが選択されていない場合、データは Qlik Sense にロードされないため、GeoOperations スクリプトで SELECT ステートメントを使用すると、Qlik LOAD ステートメントで項目を指定するよりも効率的です。

SELECT を使用すると、結果に項目を返さないことを選択することで、一部の項目の計算を回避できます。例えば、Intersects によって返される相対的な重複項目を除外できます。

注:

ロード スクリプトで同じ演算子を複数回使用している場合は、SELECT ステートメントを使用して項目の名前を変更します。

制限事項

データセットの最大サイズには、次の制限が適用されます。

  • 最大行数: 50000
  • メモリ内の最大データセット サイズ: 150MB
  • ルーティングの最大行数: 400
  • 名前検索の最大行数: 20000

一部の演算子は、Qlik Engine からのデータのストリーミングをサポートしています。Qlik Engine からストリーミングされるデータは大きくなる可能性がありますが、ルーティングのサイズ制限は引き続き適用されます。

スクリプト構文

GeoOperations に送信できるスクリプトの構文は次のとおりです。

構文:  

script ::= [ SELECT (* | select_field,...) FROM ] operation ( [parameter,...] ) {datasource_declaration}

select_field ::= field_name [ AS alias_name ]

parameter ::= parameter_name = "parameter_value"

datasource_declaration ::= DATASOURCE datasource_name datasource_type [parameter,...]

  • field_name - 返されたテーブルの項目の名前。オプションで [] で囲まれます
  • alias_name - 項目の名前を変更する必要がある名前。オプションで [] で囲みます
  • operation - Operation のオペレーションの 1 つ
  • parameter_name - 演算子のパラメータの名前
  • parameter_value - パラメータの値 (常に二重引用符で囲みます)
  • datasource_name - このデータ ソースが演算子パラメータで参照されている場合に付ける必要のある名前
  • datasource_type - Dataset のデータセットの 1 つ

パラメータ名と項目名では大文字と小文字が区別されますが、演算子、パラメータ オプション (metersminutes, など)、または SELECTFROM などのキーワードでは区別されません。