注: Looker 22.14 では、map_layer
パラメータに GeoJSON ファイルのサポートが追加されました。
Looker にはいくつかの組み込みの地図のレイヤが含まれていますが、カスタムマップ リージョンを定義して地理データを表示することもできます。次のように、3 つの地域の平均年齢のテーブルがあるとします。
お客様の地域 | お客様の平均年齢 |
---|---|
中心街 | 19.5292 |
東側 | 54.4626 |
西側 | 34.9534 |
お客様の地域を特定の地理的地域にマッピングして、地図上で可視化することもできます。これを行うには、このページで説明する手順に沿って操作してください。
リージョン データを準備する
リージョン データを準備するには、各リージョンの地理的な形状が含まれたデータファイルと、リージョンをデータベース内のデータに関連付けるメタデータが必要です。
Looker では、TopoJSON という形式を使用してこのデータをコンパクトに保存します。TopoJSON ファイルは、一般的な多くのシェイプファイル形式から簡単に作成できます。また、コミュニティ投稿のシェイプファイルを TopoJSON に変換するで説明されているように、オンライン ツールを使用して自分で描画することもできます。
この例では、このマッピングを提供する TopoJSON ファイルがすでに準備されています。TopoJSON ファイルの各リージョンには、Customer Neighborhood フィールドの値と一致する neighborhood
というプロパティがあり、それは neighborhood
というディメンションとして LookML プロジェクトに定義されています。
リージョン データをアップロードする
リージョン データを Looker にインポートするには、TopoJSON ファイルをプロジェクトの [File Browser] セクションにドラッグ&ドロップします。このデータは LookML コードと一緒に commit され、LookML プロジェクトの他のコードと同様に更新されます。
地図のレイヤを作成する
プロジェクトにリージョン データが揃ったので、LookML モデルに地図のレイヤを作成する必要があります。
モデルファイルには、map_layer
パラメータを使用して定義を追加できます。
map_layer: my_neighborhood_layer { file: "neighborhoods.topojson" property_key: "neighborhood" }
file
パラメータはリージョン データを含むプロジェクト内のファイルの名前を参照し、property_key
は Looker 内で公開するデータセットのプロパティです。キーが不明な場合は、プロパティキーを省略します。このようにすることで、Looker が適切なキーを選択しようとします。
ヒント: レイヤ定義で、file
ではなくurl
を指定すると、オンラインの他の場所でホストされている TopoJSON ファイルを使用することもできます。
map_layer: my_neighborhood_layer { url: "https://raw.githubusercontent.com/cooluser/JSON_Stuff/master/Neighborhoods.topoJSON" property_key: "neighborhood" }
地図のレイヤをデータに関連付ける
後は、map_layer_name
パラメータを適用して、ビュー内のディメンション neighborhood
を新しく作成した地図のレイヤに関連付けるだけです。
dimension: neighborhood { sql: ${TABLE}.neighborhood ;; map_layer_name: my_neighborhood_layer }
これにより、このディメンションの値が地図のレイヤによって公開される property_key
に関連付けられていることが Looker に伝わります。また、地図上にこのデータを表示できることも Looker に知らせます。
地図の表示
以上で、neighborhood
ディメンションを使用するクエリが、Explore ページから地図上に表示されるようになりました。