Tableau Prep を利用したデータ準備のベストプラクティス

データの生成、収集、保存には目が眩むほどさまざまな構造が使用されますが、いざ分析となると、どのデータフォーマットも同じように作成されているわけではありません。

データ準備は、乱雑なデータをクリーニングし、形式の整っていないデータを再構成し、複数のデータセットを結合して、分析できるようにするプロセスです。これには、行や列などのデータ構造の変換、データ型や値などのクリーンアップも含まれます。データ準備プロセスのスピードや効率性は、インサイトが得られるまでの所要時間に直接影響します。分析対象のデータのスコープを理解し、データに対する変更を視覚的に確認できれば、プロセス全体を迅速に進めることができます。

データについて包括的に考える

作業を始める前に、準備するデータがどのように使用されるのかについて考えておくことが重要です。このコンテキストの理解は、使用するデータセット、データ準備ツールに取り込む必要のあるデータの量、最終的にどのようにデータの構造化や適切な形式への変換を行うかを判断するのに役立ちます。開始するにあたり、いくつかの基本的な質問の答えを用意する必要があります。

01

分析を行うのは誰ですか?

最終的なデータセットのエンドユーザーは誰かを考えます。たとえば、分析の工程を通じてデータのあらゆる部分にアクセスし、理解する必要があるのは自分だけでしょうか。それとも、そのデータセットは、選択した特定の指標に基づいて特定のキャンペーンの実績を把握する必要があるマーケティングマネージャーなど、他の職務を担うユーザーが使用するものでしょうか。後者の場合、必要なメジャーのみが残るようにデータセットを絞り込むのが良いかもしれません。

あるいは、製品コードのみが含まれているデータ表があって、マーケティングマネージャーは製品名を確認する必要がある、という場合もあるかもしれません。その場合は、情報を取得できるようにデータ表とファクト表を結合します。ダッシュボードを作成する場合と同じように、データ準備においても、対象者を考慮することが不可欠です。

02

どのようなタイプの質問について、調査し、答えを見つける必要がありますか?

データ準備プロセスでは、最終的なデータセットがどのように使用されるのか (複雑な分析なのか、簡単なサマリーなのかなど) を理解しておくことが重要です。この内容によって作業量や詳細が決まり、データ準備プロセスに大きく影響します。

通常は、ビジネスにおける戦略的な優先事項を理解しておくことで、ユーザーがデータについて知りたいと思う一般的な質問をある程度予測できますが、予期しない質問が浮かび上がることが考えられます。データセットの準備では、新たな質問に対して迅速に対応することと、さらに先のデータ探索を可能にすることとの間でバランスをとる必要があります。たとえば、過去 6 か月の売上動向を確認しているとします。特定の週で売上が急激に伸びているので、詳しく掘り下げたい場合は、さらに詳細な分析を行うため、日次レベルの詳細なデータが必要になります。

03

データはどこにありますか?

これについては、考慮すべき基本事項がいくつかあります。たとえば、対象のデータソースにアクセスするためのパーミッションが付与されているかどうか、そのデータは適切な形式になっているか、などです。つまり、そのデータを Tableau に読み込んで、必要な分析ができるかどうかが問題になります。データ準備プロセスに取り掛かる前に、これらの点を明確にしておく必要があります。

Tableau Desktop で分析を行うためのデータ構造について詳しくは、オンラインヘルプページを参照してください

必要なデータにアクセスできたら、データがどこにあるかの確認が必要です。データがあるのは単一のデータベースの単一の表なのか、複数の表なのかを確認します。質問の本質を探るには、複数のデータベースを組み合わせることが必要な場合もあります。また、より確実な情報を得るために、外部のデータソースを取り入れることが必要な場合もあります。たとえば、担当学区の学生の試験結果を分析していて、社会経済的状態がどのように影響しているかを知りたい場合は、国勢調査のデータを組み込みます。完全なストーリーを理解するために、外部のデータソースを取り入れる必要が生じるのは、よくあることです。

データの基本構造を知る

データが誰に、どのように使用され、どこにあるのかがわかったら、データがどのように構築されているのかを理解する必要があります。自宅の改築を行う際には、まず耐力壁がどこにあるのかを知らなければ始められません。それと同じように、各フィールドの依存関係や相互関係、データの入力方法 (自動か手動か)、詳細レベルはどうなっているかを知らずにデータ準備を始めることはできません。データ構造を知ることで、データ準備プロセスに進む前に、青写真を描くことができます。

01

対象を知る

データ準備ツールにデータを読み込む前に、対象を理解しておくことが重要です。データセット全体が対象になるのか、サブセットだけなのかを知っておく必要があります。また、クリーニングを始める前に、ある程度のデータ探索が必要な場合もあります。

02

サンプルサイズを調整する

大規模なデータセットに接続する場合、データ準備プロセスを迅速に行うため、また、パフォーマンスを最適化するために、データのサンプルを限定して対象を絞り込むのが良いでしょう。状況によっては、データセット全体の確認が必要な場合もあり、そのような場合にも Tableau Prep は対応できます。サンプルではデータ準備タスクに対応できない場合には、以下のことを試してみると良いでしょう。

  • データのサンプルサイズを大きくします。インプットステップに戻り、サンプルの行数を調整します。行数を増やすか、すべてのデータを含めることができます。ただし、それによってパフォーマンスが低下する可能性があるため、注意が必要です。もう 1 つ注意すべきことは、固定の行数を使用すると、要求された行数を返すのに最も速い方法の基準として参照元のデータベースで使用されているものが返されることです (つまり、必ずしもデータベースの上から 1,000 行ではないということです)。
  • ランダムサンプリングを使用します。Tableau Prep の既定の設定では、データセット内のフィールドの総数およびそれらのフィールドのデータ型に応じて、最適な行数が計算されます。ランダムサンプリングはデータベースレベルで行われ、要求した行数が返されます。データベースで各行がチェックされ、サンプルが返されます。このオプションはすべてのデータソースで利用できるわけではありません。また、パフォーマンスに影響する可能性があります。
  • インプットステップフィルターを追加します。インプットステップにフィルターを追加すると、実行する分析に関連するデータを確実にデータセットに含めることができます。こうすることで、より実際に即したサンプルを使用しながら、パフォーマンスへの影響もなくなります。
03

データを探索する

まず、特定のフィールドにおける一意の値の数を確認する場合が多いでしょう。下の例では、上部の列見出しを見ると、データセットに出現する州の総数がわかります。また、外れ値やデータの問題を特定できるように、それぞれの値の関係も確認する必要があります。Tableau Prep では、ハイライトの機能を使って、フィールド間のリレーションシップを確認できます。プロファイルペインの値をクリックすると、データグリッドビューが狭まり、指定されたフィールドの値を持つレコードが表示されます。各フィールドの値がハイライトされ、関連する値が青色で表示されます。

選択した値と他のフィールドの値の間の関係が青い色で示されます。

04

不要なデータを削除する

データ準備プロセスの全体的なパフォーマンスを最適化するには、Tableau Prep に読み込むフィールドを分析に必要なものだけに限定します。

会社の売上と製品のデータを含むデータセットの準備を行うとしましょう。このデータセットを後で Tableau に読み込み、年間の売上実績を分析します。この場合、各製品の出荷日に関する詳細情報は対象に含める必要がないでしょう。この情報は売上にはあまり関連がなく、顧客が製品を購入した理由も分からないからです。これは単にその製品がいつ倉庫から出たかを示しているだけなので、データソースから削除しても問題ないでしょう。準備中のどこかの段階で、もう必要がないフィールドを見つけたら、フローの途中でそのフィールドを削除できます。

ヒント: 準備のプロセスを進めている途中で、フィールドの分割を始めてもかまいません。フィールドを分割して複数の列にすることができます。それにより、分割元のフィールドが不要になったら、削除できます。

また、データにフィルターをかけるとプロセスの時間を節約でき、適切な分析をしやすくなります。たとえば、過去 2 年分の売上データのみを確認する必要があるだけの場合は、範囲または相対日付のフィルターをデータフィールドに適用して、その期間のみに絞り込むことができます。関係のないデータや不正確なデータを削除したい場合もあるでしょう。データペインで値をクリックすれば、除外できます。これは、フローのどの段階でも行うことができます。

05

見直しとクリーニングを行う

Tableau では、データ型が分析に影響します。そのため、実際の分析に入る前に、各フィールドについてしっかりと確認しておくことが重要です。Tableau では、別名の編集、データ型の変更、フィールドの分割、計算の記述ができますが、特に他のユーザーのためにデータセットを作成する場合には、こうした作業を事前に実行しておくと、分析がはるかに容易になります。

すべてのフィールドについてデータの品質を把握しておくことが重要です。たとえば、アンケートで収集された電話番号には、さまざまな形式が混ざっている可能性があります。世界中からアンケートが集計されている場合にはなおさらです。何千、何万もの値について、整合性を目視で検証することは大変な作業であり、間違いも起こりやすくなります。データセットをクリーニングするには、パターンを特定してデータを一括で更新すると大きな効果があります。Tableau Prep に組み込みの機能、たとえば、句読点や数字、文字の削除、空白の調整ができる簡易クリーニングのステップなどを使用すると、簡単に変更を加えることができ、時間を節約できます。

たとえば、州のフィールドに「California」と「CA」が混在していて、他の値は州名がフルスペルになっている場合は、値を直接変更すると「CA」も「California」のレコードに含まれるようになります。

データのほとんどは問題がなく、若干の例外が含まれている場合もあるでしょう。そのような場合も、Tableau Prep は役立ちます。アルゴリズムを利用して面倒な処理を実行することで、データ値の標準化ができます。たとえば、お客様が住所の市区町村名を入力したデータが入っている列があるとしましょう。その列をざっとスクロールしてチェックすると、「Albuquerque」という地名にスペルミスがいくつかあることがわかりました。1 つずつ手作業で更新しなくても、Tableau Prep に組み込みの機能を使って、共通の文字や発音を基準にグループ化して置換できます。これらのオプションでは、アルゴリズムによってクリーニングプロセスが簡略化されているので、手間がかかりません。また、値の不足が予想される場合は、フローを実行してデータセット全体を処理する際、取り込み用に手作業で値を追加することができます。クリーニングまたはフィルター処理が必要なフィールドがあることがわかっていて、ユーザーインターフェイスからは実行できない処理が必要な場合は、計算を使用できます。

06

データの最終的な出力を知る

データの準備を始めた時点で、最終的にデータセットがどうなるべきかを判断するのは難しい場合もあります。Tableau で適切にデータを評価できるように、複数のデータソースを結合したり、データの行と列をピボットしたりすることが必要な場合があります。

このような課題に対処する方法の 1 つは、Tableau Desktop のデータペインがどうなっていれば良いかを想像してみることです。同じ値の列が複数存在するでしょうか。製品ごとに独立した列があって、その下に販売トランザクションを列挙するのが良いでしょうか、それとも、すべての製品を 1 つのフィールドに並べて、売上は別の列にするの良いでしょうか。後者の方が良さそうで、この場合は、ピボットを利用できます。

2 つの表の結合が必要な場合は、データの結合またはユニオンを使用します。結合では、データソースにフィールドを追加でき、分析できるフィールドの数が増えます。結合は、データ準備フローのどのタイミングでも追加できますが、早い段階で適用すると、より早くデータセットを理解でき、すぐに対処が必要な部分を見つけやすくなります。

同じように、ユニオンを使用して、2 つのデータセットをつなぐことができます。たとえば、Excel ファイルがあって、各シートに 1 年分ずつのトランザクションが記録されているとしましょう。表の結合ではなくユニオンを使用すると、同じ構造を維持したままで、行を増やすことができます。

2 つの表の結合やユニオンでは、詳細レベルを考慮します。適切に 1 つにまとめるには、詳細レベルの変更が必要な場合があります。うまくいかない場合は、集計を試してみましょう。

進捗状況を追跡する

データ準備のプロセスを中断して、改めてプロセスの一部のステップに変更を加える必要がある場合、プロセス全体を通じて処理を整理しておくことが重要です。データのクリーニングでは、特定の手順に従う必要はありませんが (データ準備は、それぞれの状況に応じて適切な方法を採用する必要があります)、変更を加えた個所を把握しておくと、データ準備プロセスの編集や更新が楽に行えるようになります。

01
思考に沿って準備を行う

データ準備には、再構成、形式の変更、クリーニングなど、さまざまな要素が含まれますが、その順序に特定の制約はありません。Tableau Prep では、思考の流れに沿って、データの変更や更新を行えるようになっています。データのピボットから始めることも、スペルミスや不足データのクリーンアップから始めることもできます。

02

各ステップを区分する

新しいステップを作成して、一連のアクションをまとめると、フローをわかりやすく整理できます。ステップは、ファイルキャビネットに入れるフォルダーのようなものです。テーマごとにファイルをまとめておくと、探すときに見つけやすくなります。それと同じように、フローの中のステップによって、特定のタスクを実現する一連の変更をグループ化できます。たとえば、顧客名をクリーンアップする場合には、フィールドの分割、一連の値の再配置、他のフィールドに対するフィルターの適用を行って、データソースの出力で適切な顧客セグメントが得られるようにします。これらのアクションを 1 つのステップにまとめ、わかりやすい名前を付けておくと、後でフローを理解しやすくなります。自分にとって役立つだけではありません。このフローを同僚のアナリストと共有する場合、その人たちもこれらのアクションを見つけて参照でき、スムーズに編集を加えられます。

それぞれのステップで何が行われたかを追跡するのは簡単です。実行しない方が良かったと思うアクションがある場合は、簡単に削除できます。または、Change (変更) ペインで編集することもできます。

全体を通じてスポットチェックを実施する

クリーニングや変更を加える際に、データに何が起きているかを認識していることが重要です。プロセスをずっと進めてしまってから間違ったフィールドを結合していたことに気付く、という状況は避ける必要があります。これは最初のデータの構造を知る段階に関連しています。データがどうなるべきかを十分に把握していれば、スポットチェックによって、何かうまくいっていないことがあれば比較的簡単に見つけることができます。

01

視覚的なフィードバックを利用する

結合後にセットに含まれる行数や、スペルミスのようなエラーなど、分析を開始する前のデータの関係がわかっていると、データを準備するのがはるかに容易になります。Tableau Desktop と同じように、Tableau Prep も Tableau のミッション「お客様がデータを見て理解できるように支援します」を念頭に構築されています。



データグリッド

Tableau Prep のデータグリッドは、データを処理する方法を探るのに適しています。変更を加えた後にデータがどうなるかの確認や、既存の異常値のチェックが簡単に行えます。

データグリッド
ミニマップ

自分のデータにはまったく問題がないと思う場合もあるでしょう。それでも、ミニマップを使用すると、外れ値があることやいくつかのレコードに不足があることがわかります。ミニマップを使ってこうした問題を見つけ、必要な変更を行いましょう。

ミニマップ
結合について理解する

誤って適切でないフィールドを結合してしまうこともあります。特に、複数のフィールドで結合を行う場合、このようなミスは起こりやすくなります。Tableau Prep では、結合の結果をビジュアルで確認できるので、外れ値がある場合や返されるデータが多すぎる場合にはすぐにわかり、データが正しいかどうかも簡単に確認できます。

結合について理解する
02

繰り返す

データ準備は継続的なプロセスです。誤記をすべて修正し、結合が正しくできても、その 1 回で終わるものではありません。データセットが更新されたり、質問が変わったり、別のフィールドを追加する必要が生じたりすることもあります。Tableau Prep に備わっている、Tableau Desktop でサンプルを開く機能を使うと、一連の流れの中で分析を行う際にデータが実際にどのように表示されるのかをシームレスに簡単にテストできます。

フローを実行して分析を開始する

データのクリーニング、再構成、フィルター処理が終わったら、そのデータから何が読み取れるのかを分析する段階に入ります。他の多くのデータ準備ツールとは異なり、Tableau Prep はビジネスインテリジェンスプラットフォームと完全に統合されています。抽出を Tableau Server または Tableau Cloud にパブリッシュすると、他のユーザーも分析できるようになります。Tableau Desktop に読み込めば、質問についてさらに深く掘り下げて調べ、探索できます。ここまでで、データ分析プロセスの中でも最も手間のかかる面倒な部分は終わっています。ここからは、苦労して行った作業の成果を手に入れる段階、インサイトを引き出す段階です。

Tableau Prep を試す