以前の記事では、BIツール(データ可視化ツール)Tableau Desktopや、分析官としてそれを用いてどんな業務を行なっているのか紹介しました。
一般的にTableauソフトウェアとして、データを読み込んでグラフを作り、それらを組み合わせて、ダッシュボードを作成して可視化分析するのに使われるTableau Desktopを思い浮かべる方が主流かと思います。今回はTableau Desktop の前によく使われるデータの整形・前処理を行うTableau Prep Builder について紹介します。
Tableau Prep Builder を使ってできること
データ分析を行う上で、「データの前処理」は非常に重要なプロセスです。データの質には様々な問題が存在し得ます。例えば、欠損値や余分な空白が入っていたり、本来一緒に分析したいデータが複数の、しかも形式がお互いやや異なるファイルに分かれていたり、問題は様々です。問題のあるデータを分析に使ったとしても、有意義な結果を得られるとは限りません。一般的に、「生データ」の7割以上は“分析Ready”な状態にはない、と言われています。
データの前処理を行う手段は色々あります。例えばPythonを用いてそれを行うコードを書いて実行するなどです。Tableau Prep Builder とは、プログラミングを行うことなく分析対象となるデータの前準備を行うためのツールです。Prepを使うことで、データの結合、分割、置換、変換、不要な文字を除くクリーニングなど、データに対して様々な操作を、GUIの上で簡単に行うことができます。Prepにはデータ準備でありがちな問題を解決するスマートな機能が用意されております。これらの一部を後ほど図で示します。
Prepのもう1つの特徴は、実行しているデータ処理のプロセスを全て可視化しながら作業できることです。そうすると、データを加工すると同時に、信頼性や整合性の確認も行うことができ、変更に伴う結果をその都度その都度確認することが可能になります。
以下では、実際Prepを操作している様子を通じて、Prepを使うイメージをより具体的にお伝えします。
Tableau Prep Builderの操作を図で見る
ここでは、Tableau Prep Builder (以下 Prep) で出来る基本的な操作を例を使って紹介していきます。
Prepの基本的な構成
実際は、一連のデータ処理を記述する「データフロー」を構築し、これを特殊なPrep専用の形式のファイルとして保存すると、繰り返し使用可能になります。
ワークフロー(フロー) :Prep で作る、データに対する処理を記述するファイル のことです。上の図にあるフローペインやプロファイルペインが、フローを構築しデータを視覚的に操作できるキャンバスのような存在です(Desktopのシートと同様)。
ステップ :データに対してアクションを実行するためのノード(操作群)です。 インプット、クリーニング、集計、ユニオン、結合、出力などいくつもの種類があります。ステップを追加する際に、1つ前のステップの間を線でつなぎます。
フローを構築する際に、まずはデータに接続し、インプットステップを作成します。
Prepを使う際には、まずPrep を開きデータを繋ぎます。Prepには、使用可能なデータへのコネクターが多種あります。例えばCSVのファイルに接続したい場合は下図のように「テキストファイル」を選びます。

データファイルに接続すると、Prep のワークスペースが開きます。主に、操作が記述されたステップが見える「フローペイン」とデータの入力情報や統計情報が見える「プロファイルペイン」2つのセクションに分かれます。Prepフローにステップを追加するたびに、ワークスペースとデータの詳細表示が変化します。
データを整備する上で、常にデータの確認と加工を反復します。フローの中でステップを選択すると、関与するデータの取り込みに使用する設定、含まれているフィールド、一部のサンプル値が表示されます。データの整合性を調べながら、状況に応じて、クリーニング、統合、集計など様々なアクションを実行します。下図のように、いつでも気になるステップを選択しフローのその段階での中身(データの構成、構造、外れ値やNULL値の有無など)を確認・観察することができます。

プロファイルペインから、各フィールドの「カード」にある「その他のオプション」メニューより、使用可能な豊富なクリーニングオプションを選択できます。 フィルタ、空白の削除、値の分割、値の置換、フィールド名の変更、など様々な機能をワンクリックでデータ全体に対して実行できます。

フィールドや値を変更すると、画面左の [変更内容] ペインで追跡できます(下図)。

例えば、下図の具体例では、[Sales] 列に、通貨コード“USD”が含まれており、ゆえに文字列として解釈されています。通貨コードを削除し、データ型を数字型に変更することができます。

もう1つの操作例:下図は読み込んだ複数のデータファイルを1つのファイルに統合(ユニオン;Union)している様子です。ドラッグ&ドロップだけでこれを実現できます。

もう1つの操作例です。下図では、不要なスペースを1つの列の項目から一括に省いています。こうすることで、本来同じ意味のデータが余計なスペースが入っていたために異なるデータとして認識されてしまっていた、という問題が解決されました。
目視で確認しにくいが、フリーテキストは余分なスペースが存在しがちです。 分析する上で、文字列に対する操作を行う前に余分なスペースを排除するのが鉄則です。余計なスペースがあるとフィールドが NULL 値として読み取られるリスクもあります。

実は、Tableau Desktop 上ででも接続する複数のデータの間の結合やユニオンが可能です。しかし、基本的にはよりビジュアル的に加工しやすいPrepで前準備をし、Desktopは可視化・分析を担う、という姿勢がおすすめです。
参考:https://tableau-i-ways.com/beginner/exercises-seat
データのクレンジング、前処理を全て終えた後は、「クリーンなデータ」を出力するステップを追加します。


参考:Tableau データ抽出 (.hyper) –https://dev.classmethod.jp/business/business-analytics/tableau-105-new-feature-hyper-about/
Hyperはこの出力データをすぐにTableau Desktop にすぐにつなげるときの形式として適しており、一方で抽出されたデータを第3者に共有する必要がある場合は csv ファイルで出力してください。
フローの実行が完了すると、フローの実行が成功したかどうかと、そして実行に要した時間がステータスダイアログに表示されます。万が一エラーが出る場合はフローの右上に表示され、エラーメッセージに従って修正を行う必要があります。最後に[完了] をクリックしてダイアログを閉じます。
フローの実行が成功すれば、指定した出力フォルダーに分析にこれから使用できる処理後のデータを見つけることができます。

Tableau Prep と Tableau Desktopとの相性
PrepはTableau Desktop と相性が良いように設計されています。Prepの出力データはワンクリックでTableau Desktop で開くことができます。そうするとデータ処理を終えたものを即座に分析フローに乗せることができますね。
もちろん、Tableau Prep Builder はTableau Desktop との併用が大変おすすめです。
