DataSpiderでエクセルデータを加工してTableauに読み込ませてみよう!

こんにちは。データアナリティクスチームの【もりし】です。

<CRESCOデータ分析サービスの紹介ページはこちら>
https://www.cresco.co.jp/service/data_analytics/

最近データ連携ツールDataSpider(データスパイダー)を使う機会があったので、
機能の確認をかねてTableau(タブロー)向けのデータ加工ができるか試してみました。

やりたいこと

ツールを使いたくなってしまうくらいの丁度良く(?)煩雑なデータということで、
IPA情報処理推進機構で公開している情報処理試験のアンケート集計結果
http://www.jitec.ipa.go.jp/1_07toukei/_index_toukei.html
を使います。
ITエンジニアは東京に集中してるイメージですが、地方ではどうなっているのでしょうか。
その辺を探っていきたいです。

さて、取得したデータはそのままではTableauで読みにくいものになっています。
(報告書として加工されているエクセルファイルの常ですね)

・複数ファイルに分かれている
複数ファイル

・都道府県別にシートが分かれている
複数シート

・人間が読むことに特化した複雑な形式の表
表形式

方針検討

Tableauでうまく可視化するためには、データを「整理された状態」に加工する必要があります。
加工の方針はざっくりとこんな感じです。
・1レコードの単位は「年/都道府県/試験」にして「応募者/受験者/合格者」の各人数は横持ち
・職業別や学生種別などは集計対象外、地域と試験科目別の合計人数のみを使用
・ファイル名から実施年を取得
・シート名から都道府県を取得
・合計値や合格率などの計算結果の数値はTableau側で計算できるので不要
・試験名にところどころ合計値が混ざってしまうが、一旦まとめて取り込み

※文字で書いてもピンと来ないと思いますので、一足先に加工後のイメージをお見せします加工後ファイル

DataSpiderでファイルをまとめて加工

さて、いよいよツールの出番です。
DataSpiderは様々なデータに接続しGUIを利用してノンプログラミングで加工できるツールです。
(日本製なのでShift_JISも難なく使えるのが嬉しい)

フォルダを指定してファイル一覧取得→ファイル名,シート名のリストを作成する処理。
データスパイダーファイル一覧取得処理

こんなふうに${}で変数を使ってファイルパスを指定するとループ処理の中でファイルを開けます。
(変数名も日本語でOKです)
データスパイダー変数を使用してファイル名指定

ファイル名,シート名のリストから各データを1つのcsvにまとめる処理。
ファイル名のループ→シート名のループで1シートずつアクセスできます。
データスパイダーデータ取得処理

データ加工部分です。もう少し上達すればもっとシンプルに作れそう。。。
データスパイダー加工処理

(おまけ)Tableau用の機能もあり、TDEファイルも作れました。Tableau Serverのデータ更新に便利そうですね。
データスパイダーTDE作成処理

完成!

データをうまく加工しておくとTableau側での操作が気持ち良くできるようになります。
今回は都道府県別の合格者をまとめました。加工したファイルはTableau Publicで公開しています。
https://public.tableau.com/profile/morish#!/vizhome/IPA_1/sheet2
Tableau Publicへの画像リンク

以上、データ加工~可視化の流れを簡単にまとめました。質問や興味のある方はお気軽にお問い合わせください。

<CRESCOデータ分析サービスの紹介ページはこちら>
https://www.cresco.co.jp/service/data_analytics/


SNSでもご購読できます。