
Qlik Senseのマップに顧客データを表示する
今回はQlik Senseのマップについてご紹介します。
Qlik Senseのマップを使用する事で、お持ちの顧客データをマップに表示させ、BIツールならではの集計、分析ができるようになります。
ただし、マップは地理情報を扱うため、他のチャートとは違うマップ特有の注意事項があります。
たとえば、自社の拠点をマップに表示したい場合、事前に拠点の緯度経度を調べておく必要があります。
今回はそんなマップの基本から、マップ特有の注意事項と解決方法をご紹介します。
顧客の分布等、マップでしかできない分析にご興味のある方は是非ご覧ください。
マップの基本
まず、Qlik Senseでは以下の5種類の方法でマップ上にデータを描画できます。・ポイントレイヤー
・エリアレイヤー
・ラインレイヤー
・密度レイヤー
・背景レイヤー
ここで言う各レイヤーは、マップに重ねて描画でき、例えばエリアレイヤーの上にポイントレイヤーを重ねて描画することが可能です。
各レイヤーはQlik Senseのヘルプから画面キャプチャで確認できます。
まだ一度もマップを使った事が無い方、マップを使った分析をしたことがない方は是非一度ご覧ください。
※この記事の内容はQlik Sense September 2018の情報です。 Qlik Senseでは最近、バージョンアップごとにマップ機能が強化され、その度に新しいレイヤーが追加されています。 今後も新しい種類のレイヤーが増えると予想されますので、最新の情報を知りたい方はQlik Senseのヘルプもあわせてご確認ください。 ヘルプ画面の左側にバージョンを選択できるドロップダウンメニューがあります。
マップ作成
まずQlik Senseでマップを作成する際、以下の2通りの方法があります。・地理名称を使ってマップを作成する
・緯度経度のデータを使ってマップを作成する
今回は地理名称である、日本語の都道府県名と市区町村名を使って、Qlik Senseで自動的に地理情報を取得してマップを作る方法から見ていきます。
まずは、日本語の都道府県名と市区町村名をQlik Senseに取り込みます。
都道府県名と市区町村名のデータを格納したcsvファイルを用意しました。
csvファイルは以下からダウンロードしてください。
district.csv
※上記のファイルは、以下のページで公開されているデータを一部加工して利用しています。
「都道府県コード及び市区町村コード」(総務省)を加工して作成
ダウンロードが完了したら、Qlik Senseで新しいアプリを作ってドラッグ&ドロップの操作でデータを取り込みましょう。
アプリの一覧画面から[アプリの新規作成]をクリックし、さきほどダウンロードしたcsvファイルをQlik Sense上にドラッグ&ドロップしてください。

右下の[データの追加]をクリックします。

データが取り込めました。
[閉じる]ボタンで閉じましょう。

さっそく取り込んだデータをマップに描画させてみましょう。
洞察画面を消して編集画面に移ります。


編集画面から[チャート]をクリックし、[マップ]チャートを画面に配置します。

[項目]をクリックし「都道府県名」項目をマップの上にくるようにドラッグ&ドロップします。

[新しいレイヤーとして追加]をクリックします。

今回は[エリアレイヤー]を選択します。

しばらくすると日本地図が表示されました。

例えば「北海道」をクリックすることで、北海道に絞り込まれます。

このように日本語の都道府県名であれば緯度経度のデータがなくても、簡単にマップを使う事ができます。
では続いて日本語の「市区町村名」を使ってポイントが表示されるか見てみましょう。
「市区町村名」をさきほどのマップにドラッグ&ドロップします。

[新しいレイヤーとして追加]をクリックします。

今回は[ポイントレイヤーとして追加]をクリックしましょう。

しばらく待つと画面が以下のように切り替わります。

ポイントも表示されるようになりましたが、日本以外の国の結果が表示されています。
これは、例えば中国(吉林省)の「白山市」と日本(石川県)の「白山市」という同じ名前の地理名称が複数あるような場合に、どの国の「白山市」なのかをQlik Senseが判断できていないためです。

今回は日本の市区町村のデータなので、日本の「白山市」が表示できるように設定を少し加えましょう。
[編集]ボタンをクリックし、マップをクリックします。
右側の[場所]タブをクリックします。

[場所の範囲]を「自動」から「カスタム」に変更します。

[国]の入力欄に「’JP’」と入力します。

場所の範囲を日本に限定したことで、日本の市区町村のみ表示できました。

「白山市」も日本の石川県にある「白山市」として表示されています。

以上が地理名称を使ってマップ作成する方法です。
なお、今回ご紹介した地理名称を使ってマップを作成する方法ですが、日本語の地理名称が使えるのは「国名」「都道府県名」「市区町村」の3つです。
市区町村未満、つまり「〇丁目〇番〇号」といった”番地”のデータを使ってマップを作成するには、冒頭でご紹介した2つ目の方法、緯度経度のデータを使う必要があります。
緯度経度のデータを持っているという方はほとんど居ない思いますので、ここからはデータを用意する方法からご紹介していきます。
緯度経度データの用意
まず前提として、緯度経度のデータを用意する際、「ジオコーディング」という言葉を覚えておく事をおすすめします。この言葉の意味を覚える必要はありませんが、大まかに言えば「地理的な名称等から緯度経度の情報を取得する」という意味を持ちますので、ご自身で調べる際に便利だと思います。
ジオコーディングをする事で、例えば以下のような住所から緯度経度を求める事ができます。
<住所> <緯度> <経度> 東京都千代田区九段北4-2-1 ⇒ 35.692241 139.738824では、本題の緯度経度のデータを取得する方法をみていきましょう。
ここからは緯度経度のデータを取得する方法と、Qlik Senseで緯度経度のデータを使ったマップの作成方法をご紹介していきます。
Qlik製品自体にもジオコーティングできる有償のオプションがありますが、今回は無料でかつ、筆者が使いやすいと感じた「jSTAT MAP」を使って顧客データ(住所)をジオコーディングしていきます。
「jSTAT MAP」は総務省統計局が公開している、誰でも使える地理情報システムです。
詳しくはjSTAT MAP ヘルプをご覧ください。
こちらのページ上段にある「地図で見る統計(jSTAT MAP)」をクリックしてください。
※ジオコーディングを利用するには、アカウントを作成する必要があります。
[アカウントを作成する]ボタン等から画面の指示に従いアカウントを作成してください。
jSTAT MAPにログインすると、地図が表示されます。

左上の[統計地図作成]をクリックし、[プロット作成]をクリックしてください。


真ん中の[ジオコーディング]をクリックします。

住所データが格納されたcsvファイルをアップロードします。
※住所の列は必ず2列目にしてください。

今回は弊社の各拠点の住所を格納したcsvファイルを使います。
弊社の拠点情報しかありませんが、ご利用になりたい方は以下からダウンロードしてご利用ください。
branch-office.csv
[参照]ボタンをクリックして、アップロードするファイルを選択します。
[アップロードをクリックする]ボタンをクリックします。



[結果ファイルのダウンロード]をクリックします。


ダウンロードしたファイルを早速Qlik Senseに取り込みましょう。
データを取り込みます。


新しいシートを作成します。

シート上にマップを配置し、「名称」をドラッグ&ドロップします。

[新しいレイヤーとして追加]-[ポイントレイヤーとして]追加の順にクリックします。


今回のデータだと「本社」という名前から、自動的にある地点が表示されます。
これは、最初にご紹介したQlik Senseが名称から地理情報を自動的に取得する機能によるものです。
なぜこの場所が「本社」として表示されているかは分かりませんが、意図した場所ではありませんので、追加の設定をして緯度経度で拠点の場所を表示できるようにしましょう。
右側のプロパティパネルから[場所]をクリックします。

[[緯度]項目と[経度]項目]にチェックをいれます。

[緯度]と[経度]にそれぞれ緯度経度の情報が格納されている項目を指定します。
先ほどジオコーティングして作られた「マッチング緯度」項目と「マッチング経度」項目を指定します。


[完了]ボタンをクリックして結果を見ると、ポイントが表示されました。

※右上の家の形をしたボタンをクリックしないと拡大されたままで結果が確認できない事があります。

弊社の本社がある市ヶ谷の場所も正確に表示されています。

緯度経度のデータを取得する方法と緯度経度を使ったマップの作成方法は以上です。
あとはお持ちの売上データ等と組み合わせて、バルブサイズの設定や色の設定をすることで以下のような分析画面が作成できます。

振り返り
今回はマップの基本的な作り方と緯度経度のデータを取得する方法についてご覧いただきました。以下に今回ご紹介した重要なポイントをまとめます。
- マップの作成方法は2種類
・地理名称を使ってマップに描画する。
・緯度経度のデータを用意してマップに描画する。 - 緯度経度データの用意
・ジオコーティングで住所から緯度経度が取得可能。
・「jSTAT MAP」で顧客データ(番地)からジオコーテイングができる。
最後に
今回はジオコーティングできるサービスとして、無償で利用でき、使いやすいという理由から「jSTAT MAP」を使いましたが、WEBで検索すると有償・無償問わず様々なサービスがあります。サービスによっては郵便番号から緯度経度を求めたり、「スカイツリー」等観光名所の名前から緯度経度を取得できるサービスもあるようです。
ジオコーティングにご興味のある方は、是非お時間のある際に調べてみてください。
また、今回は紹介しきれませんでしたが、「jSTAT MAP」を使ってエリアデータを作成することも可能です。
エリアデータを使用すれば、面で塗りつぶした描画ができるので、関東等の地域を確認できます。
エリアデータについても、後日別の記事として作成したいと思います。
次回の記事にもご期待ください。
お疲れ様でした。