データ分析をやってみたいけどよくわからない……という方から、分析なら任せておけ!という方まで、みなさんこんにちは。今回はデータ分析においてボトルネックになりがちな「データの準備」、その中でも特に「整形作業」について説明していきます。
■データの前処理がなぜ必要なのか?
皆さんはデータの準備に関して、どう考えているでしょうか?データ分析の前処理なんだからこんなの早く終わらせて早くメインの分析をやりたい、なんて考えている人も多いんじゃないでしょうか?よく聞く話ですが、データ分析において、データの準備作業「データの理解・整形・検証」に約8割の時間がとられるといわれています。
実際、泥臭い作業も多いのですが、時間が掛かる上に、ここで手を抜くと後々の作業に大きく影響してしまう非常に重要な作業です。最近ではETLツール(データの抽出・加工・出力を行うツール)の進化により作業もだいぶ楽になったのではないでしょうか?ただし、ツールがいくら進化しても、データ準備のうまいやり方(鉄則)を知らなければ、本当の意味での効率化はできません。データによって鉄則は異なりますが、今回は、アンケートデータに絞ってデータの整形のやり方をお伝えしていきます。
使用ツール:Talend(ETLツール)、tableau(BIツール)
■アンケートデータは「縦持ち」にせよ
アンケートデータは一般的には下記のような横持ちの形式で管理されているのではないでしょうか?
どう整形したら良いのかというと、結論はシンプル。データを縦持ちに変換します。
なぜわざわざデータを縦持ちに変換するほうがよいのか?
1)1つの計算で全ての設問の集計が可能
横持ちの場合は、設問数分(カラム数分)計算式を作成して、集計を行うことになります。
それに対して、縦持ちの場合、1つの計算式で全ての設問に対する集計を行うことができます。
2)時系列データの集計・比較も容易
時間軸を持っている場合も、1)と同様に簡単に集計できる上に、比較も自由自在にできます。
3)圧縮率が段違い
列指向の考えでは、同一列ごとに圧縮することができるため、圧縮した際の容量が非常に小さくなります。
■実践!tableauにデータを入れる前の一手間
では実際に、縦持ちへの変換をしてみましょう。今回はETLツールのTalendを使用します。
※tableauのExcel用アドインやその他ETLツールでも縦持ち変換を行うことができますが、その他の変換処理も「無償」で、「容易」に、「高速」に、できることから、利便性を考えTalendを使用します。
tUnpivotRowというコンポーネントを使って簡単に対応できます。
【使用例】
全体のジョブはこれだけです。
縦持ち変換コンポーネント(tUnpivotRow)の設定はこんな感じです
これをtableauに入れてみるとこんな感じで簡単に集計結果を可視化することができます。このように、少しの手間でそこから先の分析作業をスムーズにする手助けになりますので常に忘れないよう心がけたいものですね。
・まとめ
-アンケートデータは縦持ちで分析する。
-効率のいいやり方で、データ準備の時間を減らしていきましょう。
(担当:分析チームK)