データを準備する
学習の目的
この単元を完了すると、次のことができるようになります。
- データに接続する方法を説明する。
- クリーニング操作を使用してデータ値を編集する。
- ユニオンを使用してデータを組み合わせる。
Tableau Prep Builder チュートリアル
この単元には、Trailhead シミュレーターを使用したインタラクティブなアクティビティが用意されています。このアクティビティでは、データに接続し、データの探索、組み合わせ、クリーニングを行うフローステップを追加してフローを作成します。
Tableau Prep Builder を使用して同様の演習を行うには、Tableau Prep ソフトウェアのトライアル版をダウンロードし、製品のチュートリアルを実行できます。このチュートリアルは Tableau Prep Builder のインストールに含まれている [スーパーストア] サンプルフローに基づいています。
シナリオ
あなたは、大手小売チェーンである Superstore の本社でデータアナリストとして働いています。マネージャーから、会社の過去 4 年間の商品の売上と利益を分析するように依頼されました。必要なデータの収集を始めたところ、4 つの営業地域の注文データが別々に収集されていることがわかりました。Tableau でデータの分析を始める前に、データの準備を行う必要があります。地域データを組み合わせ、データの構造を調べてから、クリーニング操作を実行します。
Superstore の南部地域では年ごとに個別のデータファイルを使用しています。他の各地域では、注文用のデータファイルは 1 つです。まず、接続プロセス中にワイルドカードユニオンを使用して南部地域のファイルを組み合わせます。それから、フロー内でユニオンを使用して、他の地域のファイルと南部地域のデータを組み合わせます。次に、データの構造を調べて、どのフィールドをフローに含めるかを選択します。最後に、余分な文字を削除して、データ型を変更することで、データフィールドをクリーニングします。
では、この一連の作業を Trailhead シミュレーションで実行しましょう。
データへの接続
データ準備の最初のステップでは、データに接続することによってフローを作成します。まず、各種接続オプションについて学習しましょう。
Tableau はさまざまな種類のデータへの接続をサポートしており、さまざまな場所にあるデータを使用できます。データはコンピューター上でスプレッドシートやテキストファイル、リレーショナルデータベース、ビッグデータストレージ、キューブ (多次元) データベースなどに保存されている可能性があります。Web 上で入手できるパブリックドメインデータ (米国国勢調査局の情報など) やクラウドデータベースソース (Google アナリティクス、Amazon Redshift、Salesforce など) にも接続できます。Tableau はそのすべてと、さらにその他のデータをサポートしています。Tableau がサポートするファイルとデータベースについては、ネイティブコネクタが提供されており、Tableau Prep Builder の [接続] ペインにリストされています。
このシミュレーションでは、データソースファイルに接続することでフローを作成します。データに接続すると、フローに入力ステップが追加されます。
Superstore の注文に関するデータには、営業地域が異なる複数のファイルがあります。南部地域の注文は毎年別個のテーブルになっており、各テーブルの名前と構造は似ています。他の地域の注文は 1 つのテーブルファイルです。
まず、ワイルドカードユニオンを使用して、南部地域のすべてのテーブルを 1 つの入力ステップに追加します。次に、他の地域のファイルに個別に接続し、各地域のテーブルを固有の入力ステップとして追加します。
Trailhead シミュレーター
操作性を最大限に高めるために、Trailhead シミュレーターはモバイルデバイスではなくコンピューターに表示してください。Trailhead シミュレーターは Trailhead Playground とは違い、シミュレートされたユーザーエクスペリエンスを提供し、進行中の作業は保存されません。シミュレーションを閉じて再起動すると、最初からやり直すことになります。ナビゲーションコントロールを使用すれば、中断した場所に戻ることができます。
Trailhead シミュレーターは、ユーザーが間違った領域をクリックすると、正しいクリック領域にフォーカスボックスが表示されるように設計されているため (下のサンプル画像参照)、フォーカス領域をクリックするだけで続行できます。
間違った場所をクリックすると、クリックすべき場所が強調表示されます。
- Trailhead シミュレーターを起動します。
- [データソースに接続] をクリックします。
- [Begin (開始)] をクリックします。
- Tableau Prep Builder のスタートページで、[データに接続] をクリックします。
- [接続] ペインの ファイル] の下にある [テキスト ファイル] をクリックします。
- [orders_south_2015.csv] を選択します。
- [開く] をクリックします。入力ステップが作成され、[フロー] ペインに追加されます。
- 南部地域の残りの各年のファイルを追加するために、[複数ファイル] タブをクリックします。
-
[ワイルドカード ユニオン] ボタンを選択し、[適用] をクリックします。対象のファイルが
[orders_south_2015]
入力ステップに追加されます。 - [接続] の横にある をクリックします。
- [ファイルへ] の下の [Microsoft Excel] をクリックします。
- [Orders_East.xlsx] を選択し、[開く] をクリックします。
- [接続] の横にある をクリックします。
- [ファイルへ] の下の [テキスト ファイル] をクリックします。
- [Orders_Central.csv] を選択し、[開く] をクリックします。
データの構造を調べる
前のシミュレーションでは、データに接続することでフローを作成し、そのフローに入力ステップを追加しました。データへの接続が完了したため、入力ステップで各テーブルのデータ構造を調べることができます。
テーブルのデータ構造を調べるには、フロー内のいずれかのテーブルの入力ステップを選択します。テーブルの入力ステップの [入力] ペインでは、どのフィールドをフローに含めるかを選択したり、フィールドのプロパティを変更したり、入力フィルターを追加してデータを制限したりすることができます。たとえば、日付フィールドにフィルターを追加して、過去 10 年間のデータのみをフローに含めることができます。
フローにステップを追加した後、フロー内の任意の入力ステップをクリックして、そこに戻ることができます。
このシミュレーションでは、入力ステップの [Orders_West] テーブルのデータ構造を調べ、[入力] ペインを使用して不要なフィールドをフローから除外します。データを調べると、Right_ から始まるフィールドが含まれているのがわかります。これは、入力ステップから直接排除できる重複フィールドです。
- [データを探索する] シミュレーションが表示されていることを確認します。まだ表示されていない場合は、Trailhead シミュレーターを起動し、[データを探索する] をクリックします。
- [Begin (開始)] をクリックします。
- [フロー] ペインで、[Orders_West] 入力ステップをクリックします。
- [検索] フィールドに
Right
と入力します。 - 上部のチェックボックスをクリックして、Right から始まるすべてのフィールドをクリアして、フローに含まれないようにします。
- [変更] タブをクリックします。
これで [変更] ペインに変更が表示され、必要に応じてさらにアクションを実行できるようになります。また、データに変更を加えるたびに [フロー] ペインのそのステップ上に注釈が表示されます。これによって、フローのさまざまなポイントでデータに対して実行したアクションを把握しやすくなります。この場合、[Orders_West] 入力ステップに注釈が表示されます。
データのクリーニング、形成、組み合わせの操作
前のシミュレーションでは、データに接続することによって、フローが作成されて入力ステップが追加されることと、入力ステップからデータに対していくつかのアクションを実行できることを学習しました。さらにクリーニングアクションを実行するには、フローにクリーニングステップを追加します。
[フロー] ペインでクリーニングステップ (1) を追加すると、プロファイルペインには各フィールドのプロファイルカード (2) が表示され、ツールバーには使用可能なクリーニングオプションが表示され、Tableau Prep によって自動的にデータ準備アクションの推奨事項が生成されます (3)。
データをクリーニングすると、より正確な分析が可能となり、インサイトに満ちたデータ主導の判断につながります。データの問題を修正することで、そのデータが使用しやすくなります。そのため、データセットを共有する他のユーザーにもメリットがあります。データでは次のような問題を探します。
- 重複フィールド
- 欠落フィールド
- 名前の不一致があるフィールド
- データ型の不一致
- 不要なフィールド
- スペルが間違っているフィールドとフィールド内のスペルが間違っている値
- フィールド値での大文字と小文字の不一致
- フィールド値内の余分なスペース
Tableau Prep Builder のクリーニングステップでの操作を使用することでこのような問題を修正できます。クリーニングステップ操作には次のようなものがあります。
操作 |
説明 |
---|---|
検索条件 |
フィールドをフィルターして、他のフィールドの対応する値のみを表示します。 |
値のグループ |
値を手動でグループ化するか、Prep の組み込みファジーアルゴリズムを使用してスペル、発音、または共通の文字に基づくワンクリックのグループ化操作を実行します。 データの役割をフィールド値に割り当て、追加のグループ化オプションを使用してデータセット内の不正確なデータや外れ値を検索します。 |
日付の変換 |
日付フィールド値を曜日、月、四半期などに変換します。 |
値の分割 |
文字列フィールド値を一般的な区切り文字に基づいて自動的に分割したり、カスタム分割を使用してフィールド値の分割方法を指定したりします。 |
フィールド名の変更 |
フィールド名を編集します。 |
フィールドの複製 |
フィールドと値のコピーを作成します。 |
保持するフィールド |
選択されたフィールドのみを保持し、ステップ内の他のすべてのフィールドを除外します。 |
フィールドの削除 |
フローからフィールドを削除します。 |
計算フィールドの作成 |
カスタム計算で既存のフィールドを使用して新しいフィールドを作成します。 |
値の編集 |
フィールド値を編集します。 |
データ型の変更 |
フィールドのデータ型を変更します。 |
Clean Menu (クリーニングメニュー) (文字列フィールドのみ) |
文字列フィールドにワンクリックのクリーニング操作を使用します。この操作には、文字、数字、句読点の削除、スペースのトリミング、大文字への一括変換などがあります。 |
上記の (1) が示すように、クリーニングステップはフローに追加できるステップタイプの 1 つにすぎません。データの形成と組み合わせのために次のフローステップを追加することもできます。
フローステップタイプ |
説明 |
---|---|
集計 |
データをグループ化して粒度を変更します。 |
ピボット |
行を列に、または列を行に変換します。 |
合流 |
データを結合します。ファイルには少なくとも 1 つの共通フィールドが必要です。 |
ユニオン |
1 つのテーブルから別のテーブルに値 (行) を追加することで、2 つ以上のテーブルを組み合わせます。 |
新しい行 |
データを効果的に分析するために、ギャップを新しい行で埋めます。 |
入力ステップで、4 つの営業地域からの注文データを追加し、フローからいくつかのフィールドを除外しました。これらの地域のデータを組み合わせたいですが、その前に、フィールドデータ型に不一致があることに気づいたため、クリーニングタスクを実行する必要があります。
南部、西部、中部地域には、アルファベットの通貨コードなしの [売上] フィールドが含まれているため、Tableau Prep ではこのフィールドは数値と認識されます。東部地域では [売上] フィールドに通貨コードが使用されているため、これは文字列とみなされます。すべての地域のデータを組み合わせる前に、東部地域の [売上] フィールドの値を修正して、他の地域の [売上] フィールドと揃える必要があります。このシミュレーションでは、値を修正することでソースデータをクリーニングします。
- [Clean Operations (クリーニング操作)] シミュレーションが表示されていることを確認します。まだ表示されていない場合は、Trailhead シミュレーターを起動し、[Clean and Prepare Your Data (データをクリーニングして準備する)] をクリックします。
- [Begin (開始)] をクリックします。
- [フロー] ペインで [Orders_East] の横にある をクリックし、[クリーニング ステップ] を選択します。
- [売上] フィールドまで右にスクロールします。
売上金額と共に USD 通貨コードが含まれています。そのため、このフィールドの値は文字列として解釈され、一意の各値がリストされています。このフィールドから通貨コードを削除し、データ型を変更する必要があります。 - [売上] プロファイルカードヘッダーで、[その他のオプション (...)] をクリックします。次に [クリーニング] | [文字を削除] をクリックします。
- 文字列から数値にデータ型を変更するには、[Abc] リンクをクリックし、[数値 (小数)] を選択します。
[売上] フィールドに正しいデータ型が表示されるようになりました。
- クリーニングステップを右クリックし、[名前の変更] を選択します。今後の参照のために「Fix Data Type」(データ型の修正) などの意味のある名前を入力します。
フロー内のデータのユニオン
先ほどは、南部地域の注文データ内のテーブルを接続するときにワイルドカードユニオンを使用して、各年のデータを組み合わせました。次に、他の各地域からの注文データを接続しました。西部地域のデータの入力ステップでは、フローから一部のフィールドを除外しました。さらに、東部地域の注文の一部のデータをクリーニングしました。その他のクリーニング操作が実行され、4 地域すべてのファイルでフィールドの名前とデータ型が一貫するようになりました。これで各地域のデータが準備され、それを組み合わせることができます。
このシミュレーションでは、フローのユニオンステップを使用して、4 地域すべての売上テーブルを組み合わせます。
- [Union Operations (ユニオン操作)] シミュレーションが表示されていることを確認します。まだ表示されていない場合は、Trailhead シミュレーターを起動し、[Combine Sales Tables with Union Operations (ユニオン操作を使用して売上テーブルを組み合わせる)] をクリックします。
- [Begin (開始)] をクリックします。
- [フロー] ペインで [Rename States (州の名前変更)] クリーニングステップの横にある をクリックし、[Union (ユニオン)] を選択します。
- [Fix Data Type (データ型の修正)] クリーニングステップを [ユニオン 1] ステップにドラッグします。[ユニオン 1] ステップが強調表示されたら、クリーニングステップを [追加] オプションの上にドロップします。
- [orders_south] の後のクリーニングステップと [Orders (Central) (注文 (中部))] の後のクリーニングステップにもこのプロセスを繰り返します。
- ユニオンの結果を確認するには、[Union (ユニオン)] ステップをクリックします。
(1) [表名] という新しいフィールドが追加されました。このフィールドにはユニオンのすべての行のテーブルがリストされます。
(2) ユニオンペインサマリーには、一致しないフィールドのリストが表示されます。
(3) [ファイル パス] フィールドは、一致がない唯一のフィールドです。このフィールドは、南部地域の販売注文の各年のテーブルを組み合わせるために先ほど作成したワイルドカードユニオンのファイルパスを表示するために Tableau Prep Builder によって自動的に作成されました。
ユニオン後に一致しないフィールドを修正する方法はいくつかあります。Tableau Prep で一致候補が検出されると、黄色で強調表示されます。一致しないフィールドを削除することもできます。この例では、[ファイルパス] フィールドを保持することにします。
これで完了です。皆さんはデータの接続、クリーニング、組み合わせを実行しました。これで、ワークシートやダッシュボードを作成して他のユーザーとデータを共有するために、フローを保存し、準備した出力ファイルを生成する準備が整いました。