Tableau Prep Builder を使い始める

: Tableau Prep バージョン 2019.1.2 の名称が Tableau Prep Builder に変更されました。以前のバージョンの製品を使用している場合、製品には「Tableau Prep」と表示されます。

このチュートリアルでは、Tableau Prep Builder で利用できる一般的な操作を紹介します。Tableau Prep Builder に付属するサンプル データ セットを使用し、"Sample Superstore (サンプル スーパーストア)" でのフロー作成を確認します。このチュートリアルでは最新バージョンの Tableau Prep Builder が使用されています。以前のバージョンを使用する場合、結果は異なる可能性があります。

Tableau Prep Builder が分析用データのクリーニングと加工にどのように役立つかについてインサイトを得るため、チュートリアルのヒントを注意深くご覧ください。

このチュートリアルを続行する前に Tableau Prep Builder をインストールするには、「Tableau Desktop および Tableau Prep Builder の導入ガイド」の「Tableau Prep または Tableau Prep Builder のインストール」(Link opens in a new window)を参照してください。別の方法としては、無料トライアル版(Link opens in a new window)をダウンロードできます。

サンプル ファイル

このチュートリアルの作業を完了するには、Tableau Prep Builder をインストールし、以下のサンプルの "Superstore (スーパーストア)" データ ファイルを単一の場所に置く必要があります。

また、Tableau Prep Builder をインストールした後、コンピューター上の次の場所でもファイルを見つけることができます。

  • (Windows) C:\Program Files\Tableau\Tableau Prep Builder <version>\help\Samples\en_US\Superstore Files
  • (Mac) /Applications/Tableau Prep Builder <version>.app/Contents/help/Samples/en_US/Superstore Files
  • このようなストーリーです...

    あなたは大手小売チェーンの本社で勤務しています。上司は会社の過去 4 年間の製品売上と利益を分析したいと考えています。あなたはそのために Tableau Desktop を使用することを提案します。上司はすばらしいアイデアだと考え、あなたにそれに取り組んでもらいたいと考えています。

    必要なすべてのデータを集め始めましたが、地域ごとにデータの収集方法と追跡方法が違うことに気付きます。また、独自の方法で入力された大量のデータが別々のファイルに入っており、ある地域では年ごとに別々のファイルに入っていることにも気付きます。

    Tableau でデータの分析を開始できるようになるには、まず大事なデータ クリーニングを行う必要があり、深夜までかかってしまいそうです。

    夕飯を注文するために飲食店のメニューを探しているときに、最近 Tableau から Tableau Prep Builder という新製品が発表されたことを思い出しました。この製品なら、とても大変なデータ クリーニング作業に役立つかもしれません。

    無料トライアル版(Link opens in a new window)に登録し、試してみることにしました。

    1.データへの接続

    Tableau Prep Builder を開くと、Tableau Desktop と同様、最初にスタート ページと [接続] ペインが表示されます。

    開始するには、最初の手順としてデータに接続し、インプット ステップを作成します。ここからワークフローまたは Tableau Prep Builder での呼び名である「フロー」の構築を開始し、データに対してアクションを実行するために途中で他のステップを追加します。

    ヒント: インプット ステップはデータを取り込み、フローを開始するポイントとなります。複数のインプット ステップを設定することができ、複数のデータ ファイルを含める場合もあります。データへの接続の詳細については、データへの接続(Link opens in a new window)を参照してください。

    さまざまな地域の売上データ ファイルは異なる形式で保存されており、"South (南)" のオーダーは実際には複数ファイルあります。[接続] ペインを確認すると、データに接続する多くの選択肢が表示されます。すばらしいですね。

    他の地域に関しては 4 年分の全データで 1 ファイルなので、まずは "South (南)" のファイルに取り組むことにしました。

    1. [接続] ペインで [接続の追加] ボタンをクリックします。

    2. ファイルは .csv ファイルのため、接続のリストで [テキスト ファイル] を選択します。

    3. ファイルのあるディレクトリに移動し、最初のファイル orders_south_2015.csv を選択し、[開く] をクリックしてフローに追加します。(ファイルの場所については、まとめとリソースを参照してください)。

      最初のファイルに接続すると、Tableau Prep Builder のワークスペースが開き、2 つの主なセクションに分かれているのが分かります。上部の [フロー] ペインと下部の [入力] ペインです。

      Tableau Prep Builder では Tableau Desktop と同様、[フロー] ペインがワークスペースになります。ここでデータを視覚的に操作したり、フローを構築したりできます。[入力] ペインにはデータの取り込み方法に関する構成オプションがあります。データ セットのフィールド、データ型、サンプルの値も表示できます。

      次のセクションでは、このデータの操作方法について見ていきます。

      ヒント: 単一テーブルの場合、データをフローに追加すると、Tableau Prep Builder は [フロー] ペインで自動的にインプット ステップを作成します。そうしない場合は、ドラッグ アンド ドロップでテーブルを [フロー] ペインに追加できます。

    4. "South (南)" にはオーダーのファイルが他に 3 つあります。各ファイルは個別に追加できますが、すべてのファイルをまとめて 1 つのインプット ステップに追加したいので、[入力] ペインの [複数ファイル] タブをクリックします。

    5. [ワイルドカード ユニオン] のオプションがあるので、それを選択します。

      ファイルを選択したディレクトリは既に入力されており、[入力] ペインの [含められるファイル] に必要な他のファイルがリストアップされています。

      ヒント: ワイルドカード ユニオンは、名前と構造が類似している単一データ ソースから複数のファイルに接続して組み合わせるときに使うと便利です。このオプションを使用するには、ファイルが同じ親ディレクトリまたは子ディレクトリにある必要があります。必要なファイルがすぐに表示されない場合には、検索条件を変更してください。詳細については、インプット ステップでのファイルおよびデータベース表のユニオン作成(Link opens in a new window)を参照してください。

    6. [適用] をクリックして、これらのファイルのデータを orders_south_2015 インプット ステップに追加します。

    7. 他の地域のファイルはすべて単一のテーブル ファイルなので、すべてのファイルを一度に選択してフローに追加できます。

    8. エクスプローラーまたは検索を開き、ファイルのディレクトリに移動します。Ctrl を押しながらクリック (MacOS では Cmd を押しながらクリック) で以下のファイルを選択し、[フロー] ペインにドラッグ アンド ドロップしてフローに追加します。(ファイルの場所については、まとめとリソースを参照してください)。

      • Orders_Central.csv
      • Orders_East.xlsx
      • Orders_West.csv

      : これらは異なるタイプのファイルです。これらのファイルの一部が表示されない場合は、エクスプローラーやファインダーがすべてのタイプのファイルを表示する設定になっていることを確認してください。

    作業の確認: 動作中の「データへの接続」を視聴してください。

    画像をクリックして再生する

    2.データの探索

    これでデータ ファイルが Tableau Prep Builder に読み込まれたので、次はファイルを一緒にして組み合わせたいと考えています。ですが、それを行う前に、まずファイルを確認して何か問題が見当たらないかを確認するのは良い考えかもしれません。

    [フロー] ペインでインプット ステップを選択すると、データの取り込みに使用する設定、含まれているフィールド、一部のサンプル値が表示されます。

    ここはフローに含めるデータ量を決定したり、必要のないフィールドを削除またはフィルターしたりするのに最適な場所です。誤って割り当てられたデータ型を変更することもできます。

    ヒント: 大きなデータ セットを操作している場合、Tableau Prep Builder はデータのサンプルを自動的に取り込んでパフォーマンスを最大化します。期待したデータが表示されない場合は、サンプルを調整する必要がある可能性があります。これは [データ サンプル] タブで行なえます。データ オプションとサンプル サイズの構成に関する詳細については、データ サンプルのサイズの設定(Link opens in a new window)を参照してください。

    [フロー] ペインで各ステップを選択して各データ セットをざっと確認していると、インプット ステップに、後で修正する必要があるいくつかの点と、すぐに修正できる 1 つの点があることに気付きます。

    • [フロー] ペインで "Orders_Central (オーダー_中央)" インプット ステップをクリックして選択します。[入力] ペインに以下の問題があることに気付きます。

      • オーダー日と出荷日が月、日、年のフィールドに分かれている。

      • 一部のフィールドで、他のファイルの同じフィールドとは異なるデータ型が設定されている。

      • [Region (地域)] フィールドがない。

      このファイルを他のファイルと組み合わせる前に、これらのフィールドでいくらかのクリーニングを行う必要があります。ですが、現時点では [インプット] ステップでは修正できないので、後で修正するためにメモを取っておきます。

    • "Orders_East (オーダー_東)" インプット ステップを選択します。

      このファイルのフィールドは、他のファイルとかなりそろっているように見えます。とはいえ、売上の値にすべて、通貨コードが含まれているようなので、この点も後で修正する必要があります。

    • "Orders_West (オーダー_西)" インプット ステップを選択します。このファイルにもいくつか問題があります。

      • [State (都道府県)] フィールドが都道府県名の略を使用している。他のファイルではこれがスペルアウトされているため、後で修正する必要があります。

      • "Right_ (右_)" で始まる多くのフィールドがある。これらのフィールドは他のフィールドの重複のようです。フローにはこれらの重複フィールドを含めたくありません。この点については、現時点で [インプット] ステップで修正可能です。

        これを今すぐ修正するには"Right_ (右_)" で始まるすべてのフィールドのチェック ボックスをオフにします。これにより、Tableau Prep Builder がこれらのフィールドを無視し、フローに含めないよう指定されます。

        ヒント: フィールドの削除などのクリーニング操作をステップで実行する際、Tableau Prep Builder ではデータに対して実行したアクションを追跡しやすくするため、変更を [変更内容] ペインで追跡し、[フロー] ペインに注釈 (小さいアイコン形式) を追加します。インプット ステップの場合は、各フィールドにも注釈が追加されます。

        Tableau Prep Builder バージョン 2018.3.1 以降では、フロー内のほとんどのステップでクリーニング操作を実行できます。以前のバージョンでは、ほとんどのクリーニング操作をクリーニング ステップで実行する必要があります。

    データ セットに含まれるいくつかの問題点を識別したので、次の手順としてデータをもう少し詳しく調べ、見つかった問題をクリーンアップし、データの組み合わせと加工を行って分析に使用可能な出力ファイルを生成することができます。

    3.データのクリーニング

    Tableau Prep Builder でのデータの確認とクリーニングは反復作業です。操作するデータ セットを決定したら、次の手順としてはデータを調べ、さまざまなクリーニング、加工、組み合わせ操作を適用してデータに対してアクションを実行します。これらの操作を適用するには、フローにステップを追加します。Tableau Prep Builder のクリーニング オプションの詳細については、データのクリーニングと加工(Link opens in a new window)を参照してください。

    ステップには、何をしようとしているかに応じて多くの機能があります。たとえば、任意の時点でクリーニング ステップを追加して、フィルター、マージ、分割、名前の変更といったフィールドに対するクリーニング操作を適用することができます。フィールドのグループ化と集計を行い、データの詳細レベルを変更するには、集計ステップを追加します。さまざまなステップの種類と用途に関する詳細については、フローの構築と編成(Link opens in a new window)を参照してください。

    ヒント: フローにステップを追加すると、ステップを互いに接続するフロー線が自動的に追加されます。これらのフロー線は、必要に応じて移動させたり、削除や追加を行ったりすることができます。

    フローを実行する際、Tableau Prep Builder がどのステップが接続しており、どの順序でフローのステップが適用されるかを把握できるよう、これらの接続点が必要です。フロー線が欠落している場合、フローは破損し、エラーが表示されます。

    "Orders_Central (オーダー_中央)" のクリーニング

    先ほど気づいた問題に対処し、他に問題がないかを確認するため、まずは "Orders_Central (オーダー_中央)" インプット ステップにクリーニング ステップを追加します。

    1. [フロー] ペインで "Orders_Central (オーダー_中央)" を選択し、プラス アイコンをクリックしてクリーニング ステップを追加します。このメニュー オプションはバージョンによって異なり、[ステップの追加][Add Clean Step (クリーン ステップの追加)][Clean Step (クリーン ステップ)] のいずれかになります。

      フローにクリーニング ステップを追加すると、ワークスペースが変化し、データの詳細が表示されます。

      A. フローペイン、 B. ツールバー、C. プロファイルペイン、D. データグリッド

      ワークスペースは 3 つの部分、つまりフロー ペイン、ツールバーがあるプロファイルペイン、データグリッドに分割されます。

      [プロファイル] ペインにはデータの構造が表示され、フィールド値がビンに要約されるので、すぐに関連する値を確認し、外れ値や NULL 値を検出できます。[データ] グリッドにはフィールドの行レベルの詳細が表示されます。

      ヒント: [プロファイル] ペインの各フィールドはプロファイル カードに表示されています。各カードの [その他のオプション] メニュー (以前のバージョンではドロップダウン矢印) により、そのフィールド タイプで使用可能なさまざまなクリーニング オプションを確認して選択します。また、フィールド値の並べ替えやデータ型の変更を行ったり、データの役割をフィールドに割り当てたり、プロファイル カードと [データ] グリッドの列をドラッグ アンド ドロップして並べ替えたりすることもできます。

      計算フィールドを使用したデータのクリーニング

      データ セットに [Region (地域)] のフィールドがありません。このフィールドは他のデータ セットにはあるので、後でデータを組み合わせることができるように追加する必要があります。これをするには計算フィールドを使用する必要があります。

    2. ツールバーで [計算フィールドの作成] をクリックします。

    3. 計算エディターで、計算フィールドに 「Region (地域)」と名前を付けます。次に、「"Central" (中央)」 (引用符を含む) と入力し、[保存] をクリックします。

      計算フィールドを使用してデータを加工できる柔軟性がお気に入りで、Tableau Prep Builder が Tableau Desktop と同じ計算エディター言語を使用する点が気に入っています。

      ヒント: フィールドや値を変更すると、Tableau Prep Builder はそれらを [変更内容] ペインで追跡します。変更を示すアイコン (注釈) もフローのクリーニング ステップと [プロファイル] ペインのフィールドに追加されます。[変更内容] ペインについては、さらに変更を加えた後に確認しましょう。

      次に、オーダー日と出荷日の別々になっているフィールドに対処したいと考えています。それを 2 つの単一フィールドに組み合わせたいと考えていますが、1 つは [Order Date (オーダー日)]、もう 1 つは [Ship Date (出荷日)] で、他のデータ セットの同じフィールドとそろうようにします。複数の表に同じフィールドを設定しておくと、後でユニオンを使用して表を結合できます。

      やはり計算フィールドを使用して、これを簡単な 1 つの手順で行えます。

    4. ツールバーで [計算フィールドの作成] をクリックして [Order Year (オーダー年)][Order Month (オーダー月)][Order Day (オーダー日)] フィールドを形式 "MM/DD/YYYY" で 1 つのフィールドに組み合わせます。

    5. 計算エディターで、計算フィールドに「Order Date (受注日)」という名前を付けます。次に、以下の計算を入力して [保存] をクリックします。

      MAKEDATE([Order Year],[Order Month],[Order Day])

      オーダー日の新しいフィールドができたので、既存のフィールドが必要ではなくなったら削除する必要があります。

      [プロファイル] ペインには多くのフィールドがあります。ツールバーの右上隅に [検索] ボックスがあるのに気付きます。それを使用し、削除するフィールドをすぐに見つけることができないかと考え、試してみることにします。

    6. [プロファイル] ペインの検索ボックスに「Order (オーダー)」と入力します。

      Tableau Prep Builder が名前に "Order (オーダー)" を含むすべてのフィールドをスクロールし、それをビューに表示します。優れた機能です。

    7. Ctrl を押しながらクリックまたは Cmd を押しながらクリック (MacOS) で [Order Year (オーダー年)][Order Month (オーダー月)][Order Day (オーダー日)] のフィールドを選択します。次に、選択したフィールドを右クリックし、メニューから [削除] (以前のバージョンでは [フィールドの削除]) を選択して削除します。

    8. 手順 4 から 7 を繰り返し、[Ship Date (出荷日)] の単一フィールドを作成します。自分なりに試してみるか、役立つ以下の手順を使用してみてください。

      • ツールバーで [計算フィールドの作成] をクリックして [Ship Year (出荷年)][Ship Month (出荷月)][Ship Day (出荷日)] フィールドを形式 "MM/DD/YYYY" で 1 つのフィールドに組み合わせます。

      • 計算フィールドに「Ship Date (出荷日)」と名前を付け、計算 MAKEDATE([Ship Year],[Ship Month],[Ship Day]) を入力します。[保存] をクリックします。

      • [Ship Year (出荷年)][Ship Month (出荷月)][Ship Day (出荷日)] フィールドを削除します。フィールドを検索して選択し、メニューから [削除] (以前のバージョンでは [フィールドの削除]) を選択して削除します。

      ヒント: Tableau Prep Builder はプロファイルペインのデータをビンに要約しており、データの形状をすばやく確認したり、外れ値を確認したり、フィールド間の関連性を検出したりするときなどに役立ちます。

      このシナリオでは、オーダー日と出荷日は年ごとに要約できるようになっています。各ビンは年初 1 月から翌年 1 月までの 1 年を指し、それに従ってラベルが付けられています。2018 年および 2019 年の後半に該当する売上日と出荷日があるため、それに従い、そのデータのビンには終了年である 2019 年と 2020 年のラベルが付けられます。

      この表示を実際の日付に変更するには、プロファイル カードで [その他のオプション] メニュー (旧バージョンではドロップダウン矢印) をクリックし、[詳細] を選択します。

      フィールドの直接操作によるデータのクリーニング

      データの体裁が整ってきました。ですが、オーダー日と出荷日の余分のフィールドを削除し終えるときに、[Discounts (割引率)] フィールドにいくつかの問題があることに気付きます。

      • [数値 (小数)] データ型ではなく [文字列] データ型に割り当てられている。

      • 割引率なしに関し、フィールド値が数値ではなく「なし」になっている。

      ファイルを組み合わせると問題が発生するため、これも修正すべきです。

    9. 検索内容をクリアし、検索ボックスに「disc (割引率)」と入力してフィールドを見つけます。

    10. [Discounts (割引率)] フィールドを選択し、フィールド値「なし」をダブルクリックし、数値「0」に変更します。

    11. [Discount (割引率)] フィールドのデータ型を [文字列] から [数値 (小数)] に変更するには、[Abc] をクリックし、ドロップダウン メニューから [数値 (小数)] を選択します。

    12. 最後にステップに名前を付け、このステップでの実行内容を追跡しやすくします。[フロー] ペインでステップ名 "Clean 1 (クリーニング 1)" をダブルクリックし、「Fix dates/field names (日付/フィールド名の修正)」と入力します。

    変更内容の確認

    このデータ セットに多くの変更を加えたので、実行内容すべてを思い出せないと心配しています。作業を概観していると、[プロファイル] ペインの左側に [変更内容] という列が表示されています。

    矢印をクリックして開くと、加えたばかりの変更すべてのリストを表示されるので、嬉しくなります。リストの変更内容をスクロールすると、変更内容を削除または編集したり、変更内容を移動し、行った順序を変更したりできることにも気付きます。

    フロー構築時に任意のステップで行った変更を簡単に確認し、データを最大限に活用するためにその変更の順序を試せるのはすばらしい点です。

    作業の確認: 動作中の「"Orders_Central (オーダー_中央)" のクリーニング」を視聴してください。

    画像をクリックして再生する

    これで 1 つのファイルのクリーニングが完了したので、他のファイルを確認し、他にどのような修正の必要があるかを確認します。

    次に "Orders_East (オーダー_東)" の Excel ファイルを確認することにしました。

    "Orders_East (オーダー_東)" のクリーニング

    "Orders_East (オーダー_東)" ファイルのフィールドを概観していると、フィールドの大半は、[Sales (売上)] を除き、他のファイルとそろっているようです。対処すべき他に問題がないかをさらに詳しく調べるため、"Orders_East (オーダー_東)" インプット ステップにクリーニング ステップを追加します。

    1. [フロー] ペインで "Orders_East (オーダー_東)" を選択し、プラス アイコンをクリックしてクリーニング ステップを追加します。このメニュー オプションはバージョンによって異なり、[ステップの追加][Add Clean Step (クリーン ステップの追加)][Clean Step (クリーン ステップ)] のいずれかになります。

      [Sales (売上)] フィールドを確認していると、"USD" の通貨コードが売上高と一緒に含まれており、これらのフィールド値を Tableau Prep Builder が文字列として解釈したことにすぐに気付きます。

      正確な売上データを得る必要がある場合には、このフィールドから通貨コードを削除し、データ型を変更する必要があります。

      データ型の修正は簡単で、その方法はご存知のとおりです。とはいえ、売上データに関する 2,000 を超える一意の行があり、個々の行すべてを修正して通貨コードを削除するのは非能率的に思えます。

      ですが、これは Tableau Prep Builder なので、これを修正するオプションがないかドロップダウン メニューを確認することにします。

      [Sales (売上)] フィールドの [その他のオプション] (以前のバージョンではドロップダウン矢印) をクリックすると、[クリーニング] というメニュー オプションがあり、その下に文字を削除するオプションがあります。それを試して何が実行されるかを見てみることにします。

    2. [Sales (売上)] フィールドを選択します。[その他のオプション] メニュー (以前のバージョンではドロップダウン矢印) をクリックし、[クリーニングする] > [文字の削除] を選択します。

      なんと、クリーニング オプションを使用すると、すべてのフィールドから通貨コードが瞬時に削除されました。あとはデータ型を [文字列] から [数値 (小数)] に変更する必要だけあるものの、このファイルは良さそうに見えます。

    3. [Sales (売上)] フィールドのデータ型をクリックし、ドロップダウン リストから [数値 (小数)] を選択してデータ型を変更します。

    4. ファイルの残りの部分は問題なさそうです。作業を追跡するため、クリーニング ステップに名前を付けます。たとえば、「Change data type (データ型の変更)」とします。

    次に、最後のファイルである "Orders_West (オーダー_西)" を確認し、修正の必要がある問題があるか確認します。

    "Orders_West (オーダー_西)" のクリーニング

    "Orders_West (オーダー_西)" ファイルを概観していると、フィールドの大半は他のファイルとそろっているようですが、[States (都道府県)] フィールドが値に都道府県の正式名ではなく略称を使用しているのを見たことを思い出します。このファイルを他のファイルと組み合わせるには、これを修正する必要があります。そこで、"Orders_West (オーダー_西)" インプット ステップにクリーニング ステップを追加します。

    1. [フロー] ペインで "Orders_West (オーダー_西)" を選択し、プラス アイコンをクリックしてクリーニング ステップを追加します。

      スクロールするか [検索] を行って [都道府県] フィールドを探します。すべての都道府県名の値で略称が使用されていることを確認できます。このフィールドには一意の値が 11 しかありません。1 つずつ手動で変更することもできますが、Tableau Prep Builder にはおそらく別の方法があります。

      フィールドの [その他のオプション] メニュー (以前のリリースではドロップダウン矢印) をクリックすると、[Group Values (値のグループ化)] というオプションが表示されます (以前のバージョンでは [グループ化と置換])。それを選択すると、次の複数のオプションが表示されます。

      • 手動選択

      • 読み方

      • 一般的な文字

      • スペリング

      都道府県名は発音も似ておらず、スペルの間違いもなく、同じ文字も使われていないので、[手動選択] オプションを試してみることにします。

      ヒント: 単一の値を編集するには、フィールド名またはフィールド値をダブルクリックします。複数の値を編集するには、すべての値を選択し、右クリックで表示されるメニュー オプションの [値の編集] を使用します。ただし、1 つまたは複数の値を特定の値にマッピングする場合には、ドロップダウン メニューの [Group Values (値のグループ化)] オプションを使用します。
      値の編集およびグループ化に関する詳細については、フィールド値の編集(Link opens in a new window)を参照してください。

    2. [State (都道府県)] フィールドを選択します。ドロップダウン矢印をクリックし、[Group Values (値のグループ化)] (以前のバージョンでは [グループ化と置換]) > [手動選択] を選択します。

      2 列のカードが開きます。これは [Group Values (値のグループ化)] エディターです。左側の列には現在のフィールド値、右側の列には右側のフィールドにマッピング可能なフィールドが表示されます。

      都道府県の略称をその正式名にマッピングしたいと考えていますが、"Orders_West (オーダー_西)" データ セットにはそれらの値がありません。名前を単に直接編集してそこに追加できないかと考え、試してみることにします。

    3. [Group Values (値のグループ化)] エディターの左側のペインで、「AZ」をダブルクリックして値をハイライトし、「Arizona (アリゾナ)」と入力します。Enter を押し、変更内容を追加します。

      Tableau Prep Builder により新しい値「Arizona (アリゾナ)」のマッピングされた値が作成され、そこに古い値である「AZ」が自動的にマッピングされました。これらの値で設定されているマッピングされた関係があると、このように入力されたこの地域から、さらにデータを得る場合に時間の節約となります。

      ヒント: データを整理するために、データ サンプルにないフィールド値を追加してマッピングの関係を設定できます。データ ソースを更新し、新しいデータが追加される場合、それぞれの値を手動で修正するのではなく新しいデータをマッピングに追加できます。

      データ サンプルにない値を手動で追加する場合、識別しやすいように値が赤いドットでマークされます。

    4. 各都道府県をその正式名にマッピングするには、これらの手順を繰り返してください。

      都道府県名
      AZ アリゾナ
      CA カリフォルニア
      CO コロラド
      ID アイダホ
      MT モンタナ
      NM ニューメキシコ
      NV ネバダ
      OR オレゴン
      UT ユタ
      WA ワシントン
      WY ワイオミング

      [完了] をクリックし、[Group Values (値のグループ化)] エディターを閉じます。

      すべての都道府県をマッピングし、[変更内容] ペインを確認すると、そこには入力が 11 ではなく 1 つしかありません。

      Tableau Prep Builder がフィールドに対する同様のアクションを一緒にグループ化しているようです。データ セットに対して行った変更内容が後で見つけやすくなるので良さそうです。

      ここで行う変更は、[State (都道府県)] フィールドの値を修正することだけでした。

    5. 作業を追跡するため、クリーニング ステップに名前を付けます。たとえば、「Rename states (都道府県名の変更)」とします。

    ファイルで多くのクリーンアップを行いましたが、すばやくでき、簡単なので信じられません。徹夜作業の必要はなさそうです! ここまでのすべての作業が失われないよう、フローを保存してください。

    [ファイル] > [保存] をクリックするか、[ファイル] > [名前を付けて保存] をクリックします。ファイルをフロー ファイル (.tfl) として保存し、名前を付けます。たとえば、「My Superstore (マイ スーパーストア)」とします。

    ヒント: フロー ファイルを保存する際、それらをフロー ファイル (.tfl) として保存するかパッケージド ファイル (.tflx) として保存し、それをローカル データ ファイルと一緒にパッケージしてフローとファイルを誰かに共有できます。フローの保存と共有の詳細については、作業の保存と共有(Link opens in a new window)を参照してください。

    4.データの組み合わせ

    すべてのファイルをクリーンアップしたので、ついにすべて組み合わせる準備ができました。

    クリーンアップ作業の後、すべてのファイルに同様のフィールドがあるため、すべての行を 1 つのテーブルにまとめます。これには、テーブルのユニオンを作成する必要があります。

    ステップに [ユニオン] というステップ オプションがあることを思い出しましたが、単にステップをドラッグ アンド ドロップしてユニオンを作成できないかと思い、試してみることにします。

    データのユニオン作成

    1. [フロー] ペインで、フローの最後のクリーニング ステップの上にある最後から 2 番目のクリーニング ステップをドラッグして、[ユニオン] オプションにドロップします。たとえば、クリーニング ステップ [Changed data type (データ型の変更)] の前にくるステップ [Rename states (都道府県名の変更)] をドラッグし、[ユニオン] オプションにドロップします。

      Tableau Prep Builder により新しい "ユニオン" ステップがフローに追加されます。すばらしいですね。このユニオンには他のファイルも追加したいと考えています。

    2. 新しい [ユニオン] ステップの前にくる新しい [Fix dates/field names (日付/フィールド名の修正)] ステップにあるフローの 2 番目のクリーニング ステップをドラッグして [追加] にドロップし、既存のユニオンに追加します。

    3. "orders_south_2015 (オーダー_南_2015)" ステップを新しい "ユニオン" ステップにドラッグします。[追加] にドロップし、既存のユニオンに追加します。

      これでファイルがすべて組み合わされ、単一テーブルになりました。[フロー] ペインで新しい [ユニオン] ステップを選択して、結果を確認します。

      Tableau Prep Builder が自動的に、名前およびタイプが同じであるフィールドを一致させています。

      また、フローのステップに割り当てられたは、フィールドの由来を示すためにユニオン プロファイルで使用されるほか、各フィールドの上部にある色付きバンドにも表示され、そのフィールドがそのテーブルに存在するかを示します。

      [Table Names (テーブル名)] という新しいフィールドが追加され、ここにユニオンのすべての行の由来であるテーブルがリストされています。

      不一致のフィールドの一覧はサマリーペインにも表示され、[製品] および [ディスカウント] のフィールドが Orders_Central ファイルにのみ存在することをその場で確認できます。

    4. これらのフィールドの詳細を確認するには、[ユニオンの結果] ペインで [不一致のフィールドのみを表示] のチェックボックスを選択します。

      フィールドのデータを見れば、データが同じでありながら、フィールド名が異なっていることがすぐに分かります。単にフィールド名を変更することはできますが、これらのフィールドをドラッグ アンド ドロップでマージできないかと考え、試してみることにします。

    5. [Product (製品)] フィールドを選択し、[Product Name (製品名)] フィールドにドラッグ アンド ドロップしてフィールドをマージします。フィールドはマージすると、ペインに表示されなくなります。

    6. この手順を繰り返し、[Discounts (割引率)] フィールドを [Discount (割引率)] フィールドにマージします。

      一致するものがないフィールドは、[File Paths (ファイル パス)] フィールドだけになりました。このフィールドには、"South (南)" の売上オーダーに対して行ったワイルドカード ユニオンのファイル パスが表示されています。このフィールドには良い情報があるので、そこに残しておくことにします。

      ヒント: ユニオン後に不一致のフィールドを修正するオプションは複数あります。

      使用中の Tableau Prep Builder のバージョンによっては [不一致のフィールド] リストでフィールドを選択でき (バージョン 2018.2.1 以降)、Tableau Prep が一致候補を検出したらそれらが黄色くハイライト表示されます。フィールドをマージするには、ハイライト表示されたフィールドにカーソルを合わせると表示されるプラス ボタンをクリックします。

      ユニオン内の各フィールドをマージする方法については、一致しないフィールドの修正を参照してください。

    7. [不一致のフィールドのみを表示] チェック ボックスをオフにし、ユニオンに含まれているすべてのフィールドを表示します。

    8. ユニオン ステップに、このユニオンがどのような作業を含んでいるかを示す名前を付けます。たとえば、「All orders (すべてのオーダー)」とします。

    作業の確認: 動作中の「データのユニオン作成」を視聴してください。

    画像をクリックして再生する

    これであなたもクリーニングのプロです。自分の結果に感心していたところ、上司から電話がかかってきました。上司は分析に製品返品も含めたいと伝えるのを忘れており、それがあまり面倒でないことを願っています。ツールキットの Tableau Prep Builder を使用すれば、問題ありません。

    製品返品データのクリーニング

    上司から送信された製品返品の Excel ファイルを概観したところ、少々乱雑なようです。新規ファイル 「return_reasons new」をフローに追加し、詳細を確認します。

    1. [接続] ペインで [接続の追加] をクリックします。Microsoft Excel を選択して同じ "Superstore (スーパーストア)" データ ファイルのところに移動します (ファイルをダウンロードするにはサンプル ファイルを参照)。

    2. return reasons_new.xlsx を選択してから [開く] をクリックし、ファイルをフローペインに追加します。

      このファイルのフィールドで、フローに含める必要があるものは、[Order ID (オーダー ID)][Product ID (製品 ID)][Return Reason (返品理由)][Notes (注)] の 4 つです。

    3. returns_new[入力] ペインで、フィールド グリッドの上部にあるチェック ボックスをオフにし、すべてのチェック ボックスをオフにします。その後、[Order ID (オーダー ID)][Product ID (製品 ID)][Return Reason (返品理由)][Notes (注)] フィールドのチェック ボックスをオンにします。

    4. インプット ステップにどのようなデータが含まれているかがわかるように、その名前を変更します。[フロー] ペインでステップ名 "Returns_new (返品_新規)" をダブルクリックし、「Returns (all) (返品 (すべて))」と入力します。

      サンプル フィールド値を確認すると、[Notes (注)] フィールドには一緒に組み合わされている異なるデータが多くあるようです。

      データでさらに操作を行えるようにするには、このファイルでいくらかのクリーニングを行う必要があるので、クリーニング ステップを追加してさらに確認します。

    5. フローペインで入力ステップ [返品 (すべて)] を選択し、プラス アイコンをクリックしてステップをクリーニングします。

      [プロファイル] ペインで [Notes (注)] フィールドのサイズを変更すると、入力の表示がさらに良くなります。これを実行するには、フィールド右外端をクリックして右にドラッグします。

    6. [Notes (注)] フィールドで値をざっと確認するには、フィールド値の右側にある視覚的なスクロール バーを使用します。

      問題のある次のいくつかの点に気付きます。

      • 一部の入力では、入力に余計なスペースが含まれる。フィールドが NULL 値として読み取られる可能性があります。

      • 承認者の名前が返品注記の入力に含まれている。このデータに対する作業をスムーズに進めるために、他のフィールドの情報が役立つでしょう。

      末尾のスペースを削除するクリーニング オプションがあることを思い出したので、余分なスペースの問題を修正できるか試してみることにします。

    7. [Notes (注)] フィールドを選択します。[その他のオプション] メニュー (以前のリリースではドロップダウン矢印) をクリックし、[クリーニングする] > [スペースのトリミング] を選択します。

      これで、必要だった操作を実行でき、余分なスペースがなくなりました。

      次に、承認者の名前に使用する別のフィールドを作成することにします。メニューに [値の分割] オプションがあるので、それを試してみることにします。

    8. [Notes (注)] フィールドを選択します。[その他のオプション] メニュー (以前のリリースではドロップダウン矢印) をクリックし、[値の分割] > [自動分割] を選択します。

      このオプションを使用し、注に対して必要だった操作を実行できました。返品注記が自動分割され、承認者名が別のフィールドに入りました。

      Tableau Desktop の場合と同様に、Tableau Prep Builder もそれらのフィールドに自動で名前を割り当てます。そのため、新しいフィールドの名前を分かりやすいものに変更する必要があります。

    9. フィールド [Notes-Split 1 (注-分割 1)] を選択します。フィールド名をダブルクリックし、「Return Notes (返品注記)」と入力します。

    10. 2 つ目のフィールドでもこの手順を繰り返し、名前を「Approver (承認者)」に変更します。

    11. 最後に、元の [注] フィールドは必要ないため、削除しましょう。[Notes (注)] フィールドを選択し、[その他のオプション] メニュー (以前のバージョンではドロップダウン矢印) をクリックして、メニューから [削除] (以前のバージョンでは [フィールドの削除]) を選択します。

      新しい [注] フィールを見たところ、同じ名前でありながら別の形で入力されたフィールドの値がリストアップされていることに気付きます。同じ値の複数のばらつきがないよう、それらをグループ化する必要があります。

      [Group Values (値のグループ化)] (以前のバージョンでは [グループ化と置換]) オプションがそれに役立ちそうでしょうか。

      [一般的な文字] のオプションがあったことを思い出しました。これらの値では同じ文字が使用されているので、これを試してみることにします。

    12. [Approver (承認者)] フィールドを選択します。[その他のオプション] メニュー (以前のバージョンではドロップダウン矢印) をクリックし、[Group Values (値のグループ化)] (以前のバージョンでは [グループ化と置換]) > [一般的な文字] を選択します。

      このオプションにより、それぞれの名前のばらつきがすべて一緒にグループ化されました。予期したとおりの動作です。

      他の名前を確認して適切にグループ化されていることを確認したら、[完了] をクリックして [Group Values (値のグループ化)] エディターを閉じます。

      このファイルはとても見やすくなりました。

    13. 作業を追跡するため、クリーニング ステップに名前を付けます。たとえば、「Cleaned notes (クリーニングした注記)」とします。

    これで製品返品データをすべてクリーンアップしたので、ユニオンを実行したファイルの注文データにこのデータを追加します。しかし、ユニオンを行ったファイルにはこの多くのフィールドが存在しません。ユニオンを行ったデータセットにこれらのフィールド (データの複数のカラム) を追加するには、結合が必要です。

    データの結合

    データを結合する場合、ファイルには共通するフィールドが 1 つ以上ある必要があります。ファイルにはいずれも [Order ID (オーダー ID)] フィールドと [Product ID (製品 ID)] フィールドがあるので、それらのフィールドで結合を行い、それらのフィールドが共通しているすべての行を表示できます。ドラッグ アンド ドロップでユニオンを作成した場合に結合を作成するオプションを思い出したので、それを試してみることにします。

    1. フローペインで [クリーニングした注記] ステップを、[すべてのオーダー] ユニオン ステップにドラッグし、[結合] にドロップします。

      ファイルを結合すると、Tableau Prep Builder により結合結果が [結合プロファイル] に表示されます。

      結合は操作しにくいことがあります。多くの場合、ファイルの結合に使用されるフィールド、結果に含まれる行数、含まれていないまたは NULL 値である任意のフィールドなど、結合に含まれる要素をしっかりと把握する必要があります。

      Tableau Prep Builder で結合結果を確認すると、情報がとても豊富で、双方向性をすぐに使えるので満足しました。

      ヒント: 結合プロファイルの左端のペインでは、結合の探索と操作を行えます。また、[結合句] ペインで値を直接編集し、[結合結果] ペインでクリーニング操作を実行することもできます。

      [結合タイプ] 図をクリックして別の結合構成を試し、[結合結果のサマリー] セクションの各テーブルの結合で含まれているまたは除外されている行数を確認します。

      [適用した結合句] セクションで結合する必要があるフィールドを選択するか、[結合句の推奨事項] セクションより提案される結合句を追加します。

      結合の操作の詳細については、データの集計、結合またはユニオン(Link opens in a new window)を参照してください。

      13,000 行以上が "All Orders (すべてのオーダー)" ファイルから除外されています。結合を作成する際、Tableau Prep Builder は自動的に [Product ID (製品 ID)] フィールドで結合を行いましたが、[Order ID (オーダー ID)] フィールドでも結合が必要です。

      [結合] プロファイルの左ペインをざっと確認すると、[Order ID (オーダー ID)] が推奨される結合句のリストに含まれているので、そこからすぐに追加します。

    2. [結合] プロファイルの左側のペインの [結合句の推奨事項] セクションで Order ID = Order ID を選択し、プラス ボタンをクリックして結合句を追加します。

      [結合タイプ] は内部結合に設定されているため (Tableau Prep Builder の既定設定)、結合には両方のファイルに存在する値のみが含まれています。ですが、[オーダー] ファイルのすべてのデータだけでなく、それらのファイルの返品データが必要です。それで結合タイプを変更する必要があります。

    3. [結合タイプ] セクションで、図の側面をクリックしてすべてのオーダーを含めます。次の例では、図の左側をクリックして結合タイプを [左] 結合に変更し、[All orders (すべてのオーダー)] ユニオン ステップのすべてのデータおよび [Cleaned notes (クリーニングした注記)] ステップで一致するデータを含めます。

      これで売上オーダー ファイルのすべてのデータ、およびそれらのオーダーに適用される返品データがあります。[結合句] ペインを確認し、その他のファイルに存在しない個別の値を確認します。

      たとえば、多くのオーダー行 (赤で表示) には対応する返品データがありません。結合について、この詳細レベルで調べることができるので気に入っています。

      このデータの分析を Tableau Desktop で開始したいと願っていますが、その前に、結合にクリーンアップが必要な結果がいくつかあることに気付きます。幸いなことに、どのように対応するかも分かっています。

      ヒント: データが十分にクリーンアップされているか分からない場合には、フローの任意のステップで Tableau Desktop のデータをプレビューし、確認できます。

      [フロー] ペインでステップを右クリックし、メニューから [Tableau Desktop でプレビュー] を選択するだけです。

      データを試すことができますが、Tableau Desktop で加えた変更は Tableau Prep Builder のデータ ソースには書き戻されません。詳細については、Tableau でのデータ サンプルの表示(Link opens in a new window)を参照してください。

    4. 結合結果のクリーニングを開始する前に、結合ステップに「Orders+Returns (オーダー+返品)」と名前を付け、フローを保存します。

    結合結果のクリーニング

    : 結合に含まれるフィールドをクリーンアップするには、クリーニング操作を結合ステップで直接実行することができます。このチュートリアルの目的上、ここではクリーニング操作をはっきり確認できるようにクリーニング ステップを追加します。これらのステップを結合ステップで直接実行しようとしている場合は、以下の手順 1 ~ 3 をスキップします。

    2 つのステップを結合すると、共通のフィールドである [Order ID (オーダー ID)] および [Product ID (製品 ID)] が両方のテーブルに追加されました。

    すべてのオーダーの [Product ID (製品 ID)] フィールドと返品ファイルの [Order ID (オーダー ID)] フィールドを保持し、それらのファイルに起因する重複したフィールドを削除したいと考えています。また、出力ファイルでは [ファイルパス][テーブル名] のフィールドが不要であるため、それらのフィールドも削除します。

    ヒント: 両方のファイルに存在するフィールドを使用してテーブルを結合する場合、Tableau Prep Builder は両方のフィールドを取り込み、2 つ目のファイルの重複フィールド名に "-1" または "-2" を追加して名前を変更します。たとえば、[Order ID (オーダー ID)][Order ID-1 (オーダー ID-1)] とします。

    1. [フロー] ペインで [Orders+Returns (オーダー+返品)] を選択し、プラス アイコンをクリックしてクリーン ステップを追加します。

    2. [プロファイル] ペインで以下のフィールドを選択して削除します。

      • Table Names (テーブル名)

      • Order ID (オーダー名)

      • File Paths (ファイル パス)

      • Product ID-1 (製品 ID-1)

    3. フィールド [Order ID-1 (オーダー ID-1)] の名前を [Order ID (オーダー ID)] に変更します。

      返品注記や承認者が記載されていなくても返品された製品に、かなりの数の NULL 値があります。このデータを分析しやすくするため、製品が返品されたかを示す [はい] および [いいえ] の値を含むフィールドを追加する必要があります。

      このフィールドは存在しないため、計算フィールドを作成すれば追加できます。

    4. ツールバーで [計算フィールドの作成] をクリックします。

    5. フィールドに「Returned? (返品済み)」と名前を付け、以下の計算を入力して [保存] をクリックします。

      If ISNULL([Return Reason])=FALSE THEN "Yes" ELSE "No" END

      分析のため、オーダーに対する出荷にかかった日数を把握したいとも考えていますが、そのフィールドがありません。

      それを作成するのに必要な情報はすべてあるので、別の計算フィールドを追加し、フィールドを作成します。

    6. ツールバーで [計算フィールドの作成] をクリックします。

    7. フィールドに「Days to Ship (出荷までの日数)」と名前を付け、以下の計算を入力して [保存] をクリックします。

      DATEDIFF('day',[Order Date],[Ship Date])

    8. ステップに「Clean Orders +Returns (オーダーと返品のクリーニング)」と名前を付けます。.

    9. フローを保存します。

    5.フローの実行と出力の生成

    データの体裁が整い、出力ファイルを生成して Tableau Desktop で分析を開始する準備ができました。必要な手順は、フローの実行と抽出ファイルの生成だけです。これを実行するには、出力ステップを追加する必要があります。

    1. [フロー] ペイン[Clean Orders +Returns (オーダーと返品のクリーニング)] を選択し、プラス アイコンをクリックして [出力] を選択します (以前のバージョンの [出力の追加])。

      出力ステップを追加すると、[出力] ペインが開き、データのスナップショットが表示されます。ここでは、生成する出力タイプを選択し、名前とファイルの保存先を指定できます。

      既定の場所は、マイ Tableau Prep Builder リポジトリのデータ ソース フォルダーです。

    2. 左側のペインの [Save output to (出力の保存先)] ドロップダウンで、[ファイル] (以前のバージョンの [ファイルに保存]) を選択します。

    3. [参照] ボタンをクリックし、[名前を付けて抽出を保存] ダイアログでファイル名を入力し ("Orders_Returns_Superstore (オーダー_返品_スーパーストア)" など)[許可] をクリックします。

    4. [Output type (出力タイプ)] フィールドで、次のいずれかの出力タイプを選択します。使用している Tableau Desktop のバージョンに応じ、以下のオプションから選択できます。

      • Tableau Desktop バージョン 10.5 以降では Tableau データ抽出 (.hyper)。

      • Tableau Desktop バージョン 10.0 から 10.4 では Tableau データ抽出 (.tde)。

      • 抽出をサード パーティに共有する必要がある場合は、コンマ区切り値 (.csv)。

      ヒント: フローから出力を生成する場合には選択肢があります。抽出ファイルを生成するか、データをデータ ソースとして Tableau Server または Tableau Online にパブリッシュできます。出力ファイルの生成に関する詳細は、データ抽出とデータ ソースの作成とパブリッシュ(Link opens in a new window)を参照してください。

    5. [書き込みオプション] セクションで、新しいデータをファイルに書き込むオプションを表示します。既定 ([テーブルの作成]) を使用してテーブルをフロー出力に置き換えるため、ここで変更するものはありません。

      ヒント: バージョン 2020.2.1 以降では、フロー データをテーブルに戻すときに書き込む方法を選択できます。[テーブルの作成][テーブルに追加] の 2 つのオプションから選択できます。Tableau Prep Builder では既定で [テーブルの作成] オプションが使用され、フローの実行時にテーブル データが新しいデータで上書きされます。[テーブルに追加] を選択した場合、Tableau Prep Builder ではフロー データが既存のテーブルに追加されるため、フローの実行ごとに新しいデータと履歴データの両方を追跡できます。詳細については、書き込みオプションの構成を参照してください。

    6. [出力] ペインで [フローの実行] をクリックするか、フロー ペインの [フローの実行] ボタンをクリックして出力を生成します。
    7. フローの実行が完了すると、フローの実行が成功したかどうかと、実行に要した時間がステータス ダイアログに表示されます。[完了] をクリックしてダイアログを閉じます。

      データを最新の状態に維持するには、Tableau Prep Builder でフローを手動で実行するか、コマンド ラインを使用して実行します。Data Management アドオンを使用しており、Tableau Prep Conductor が有効になっている場合は、フローを Tableau ServerTableau Online にパブリッシュしたり、スケジュールに基づいてフローを実行したりできます。

      バージョン 2020.2.1 以降では、フローを実行するたびにすべてのデータを更新するか、増分更新を使用してフローを実行し、毎回新しいデータのみを処理することもできます。

      データを最新の状態に維持する方法の詳細については、以下のトピックを参照してください。

    まとめとリソース

    データ準備を使いこなせるようになりました。整っていなかったデータを簡単に作り変えることができました。短時間のうちに、複数データ セットのデータをクリーニングと準備で整ったきれいなデータ セットに変換し、Tableau Desktop で分析できるようになりました。

    さらに練習が必要な場合には、以下のデータ ファイルを使用し、"Superstore (スーパーストア)" のサンプル フローの残りの部分を複製してみてください。

    また、Tableau Prep Builder をインストールした後、コンピュータ上の次の場所でもファイルを見つけることができます。

    • (Windows) C:\Program Files\Tableau\Tableau Prep Builder <version>\help\Samples\en_US\Superstore Files
    • (Mac) /Applications/Tableau Prep Builder <version>.app/Contents/help/Samples/en_US/Superstore Files

    さらにトレーニングが必要な場合には、Tableau Prep Builder 向けのトレーニング ビデオ(Link opens in a new window)をご覧いただき、優れたリソース(Link opens in a new window)を確認するか、対面トレーニング(Link opens in a new window) コースを受講してください。

    網羅したトピックについてさらに情報が必要な場合には、Tableau Prep Builder オンライン ヘルプで他のトピックを確認してください。

    このセクションの他の記事

    ありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください