社内で人が増えるたびに座席の見直しが行われて、その都度Excelの表を更新して展開しています。
何度も更新するうちに、人と内線番号が食い違ったり、間違いも増えます。また、同じグループの人がやむを得ず他の島にアサインされたり、色々と難しい面もあります。
別に手動でやっても全く問題になるような話ではありませんが、人事データときっちりと整合性が取れた座席表を維持するのはそれなりに手間のかかることです。
PowerBIには、座席表など図面と、データを効率よく結び付け、適切に可視化する機能があります。地図関連のビジュアルはそのままこういった構内や屋内の図面にも応用できます。座席表のPowerBI化をやってみましょう。
基本的には、手元にあるジェネリックなツールの組み合わせだけで出来るよう、マクガイバー的方法論でやる方法を紹介します。
PowerBIで座席表
以下のような形でまとめました。
Power BI で座席表を作る その1/2
Power BI で座席表を作る その2/2
Power BI で座席表を作る 実践編
Shape Mapを利用する
用意するもの
- Power BI (フリー)
- GIS ツール (QGIS, ArcGISなど)
- Map Converter (Topo JSONへの変換ができるもの)
- 座席*人対応データ
以前紹介した、比較的最近の機能である Shape Map (マップシェイプ)Visual を使って座席表を作ってみましょう。
Shape Map ではTopoJSONの地図データが使えました。
何で図面を描くか
座席表のきっちりとしたベクタファイルなんて普通は存在せず、ExcelとかPowerPointで作った図表がある程度でしょう。頻繁に更新することを考えると、データ編集が容易なExcelを使うことが多いのではないでしょうか?
このままではTopoJSONに変換できないし、きっちりとした図面ではないので、最初から座席表を描くことにしましょう。
CADツールや2次元デザインツールに慣れた人なら、そういったツールでDXFなどの図面データをおこして、JSONに変換すれば良いかもしれません。TopoJSONやGeoJSONを直接編集するツールもWebに存在しますが、非常に単純な機能しかなく、コピペで配置を量産したりできません。
ここはGISを使って図面を書いてみましょう。マクガイバー的にはQGISを使うところですが、ここでは個人的に使い慣れたArcGISを使ってみます。
ArcGISで座席表を作図
ArcGISの編集機能は非常に洗練されているので、座席表なども比較的簡単にできてしまいます。ArcGISではfeatureを直接作図できますが、非常に重く、編集機能も複雑なものが多いので、まずグラフィックとして作図します、これですとPowerPointなどのように図形のコピペや左右揃え、均等配置などが直感的に可能ですので、あっという間に座席表が作成可能です。以下のような座席表を、実際のオフィスの位置に作成してみました。地理的に正しい位置に配置する意味はPowerBI的には無いのですが、何かに使いまわす場合の事を考えると一応正しく配置した方が良いですね(何に使うのか!)
この際、各ポリゴンのキーとなるフィールドを定義しておきます。座席事のIDを適当に決めましょう。私は島ごとに以下のように設定してみました。
作成されたグラフィックをフィーチャーに変換し、さらにJSONとして出力すると準備完了です。
TopoJSONへの変換
一度shapeファイルやGeoJSONに変換してしまえば、PowerBIの解釈可能なTopoJSONへの変換は前回紹介したmap shaperで可能です。
作成されたTopoJSONをshape mapで読み込みましょう。そして、適当に座席IDと名前を紐づけておいたファイルや電話帳などをJOINして。。。できた!
Power BIでデータと統合
一応性別やグループなどのフィールドも新たに編集しました。あ、でも、あれ?肝心の名前が出せません!残念ながら、shape mapでは他のマップ系ビジュアルと違い、ラベルが図面上に出せませんorz。凡例欄やツールチップでは確認できますが、これだと探すのが大変ですね。
とはいえ、一度やってみたかった、カスタムマップの自作→PowerBIへの活用の最短パターンに近い方法がわかりよかったです。こうなると何でもPowerBI化したくなりますね。
関連記事
Power BI で座席表を作る その1/2
Power BI で座席表を作る その2/2
Power BI で座席表を作る 実践編