データのピボット処理

スプレッドシートやクロス集計の書式のデータの分析は、Tableau では困難な場合があります。Tableau では、データが「幅広い」よりも「高い」方が好まれます。このため、多くの場合、Tableau がデータを適切に評価できるよう、列から行にデータをピボット処理する必要があります。

ただし、データ表が高く狭いと、表が極端に正規化され適切な分析ができなくなることもあります。たとえば、営業部門が追跡する広告費を [radio (ラジオ)][television (テレビ)][print (紙媒体)] という行が含まれる [Advertising (広告)] 列と、総費用を表す列の 2 列で表すとします。このシナリオでは、データを個別のメジャーとして分析するように行データを列にピボット処理する必要があります。

しかし、大きなデータ セットや長期にかけて頻繁に変更の発生するデータのピボット処理に関してはどうでしょうか。この場合は、ワイルドカードのパターン マッチを使用してパターンが一致するフィールドを検索し、自動的にデータをピボット処理することができます。

データをピボット処理する際は、以下のいずれかのオプションを使用します。

  • 列から行へピボット処理する

  • ワイルドカード検索を使用して、パターン マッチに基づきフィールドを瞬時にピボット処理する (Tableau Prep Builder バージョン 2019.1.1 以降)

  • 行から列へピボット処理する (Tableau Prep Builder バージョン 2019.1.1 以降)

フィールドをピボット処理する方法に関係なく、結果を直接操作して追加のクリーニング操作を実行し、データを必要な方法で表示させることができます。また、Tableau Prep Builder のスマートな既定の命名機能を使用し、ピボット処理されたフィールドや値の名前の変更を自動で行うこともできます。

: フィールドの複数のグループでの列から行へのピボット処理は、Tableau Prep Builder 2018.1.1 ではサポートされていません。Tableau Prep Builder バージョン 2018.1.1 の複数のフィールド グループで、ピボット処理された列を含むピボットを編集すると、エラーが発生するか、予期しない結果になることがあります。

列から行へピボット処理する

このピボット オプションを使用して幅広いデータから高いデータへと移行します。1 つ以上のフィールド グループで、列から行へピボット処理します。操作するフィールドを選択し、列から行にデータをピボット処理します。

  1. データ ソースに接続します。

  2. ピボット処理するテーブルを [フロー] ペインにドラッグします。

  3. 次のいずれかを実行します。

    • バージョン 2019.4.2 以降: [プロファイル] ペインでピボット処理するフィールドを選択し、右クリックまたは Ctrl を押しながらクリック (MacOS) して、メニューから [列から行へピボット処理する] を選択します。このオプションを使用する場合は、手順 7 に進みます。
    • すべてのバージョン: プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。

      フィールドの選択 (バージョン 2019.4.2 以降) フロー ステップ メニュー (すべてのバージョン)
  4. (オプション) [フィールド] ペインで [検索] フィールドに値を入力し、ピボット処理するフィールドのフィールド リストを検索します。

  5. (オプション) [ピボットされたフィールドと値の名前を自動変更する] チェック ボックスを選択し、Tableau Prep により、ピボット処理された新しいフィールド名を、データの共通する値を使用して変更できます。共通する値が見つからない場合は、既定の名前が使用されます。
  6. 左側のペインから 1 つ以上のフィールドを選択し、それを [ピボットされたフィールド] ペインの [ピボット1 値] 列にドラッグします。

  7. (オプション) [ピボットされたフィールド] ペインでプラス アイコンをクリックしてピボット処理する列を追加し、その後、前のステップを繰り返してピボット処理する他のフィールドを選択します。結果はすぐに [ピボットの結果] ペインとデータ グリッドに表示されます。

    : ステップ 5 で選択したのと同じ数のフィールドを選択する必要があります。たとえば、最初のピボット処理に 3 つのフィールドを選択した場合は、ピボット処理するその後の各列にも 3 つのフィールドが含まれる必要があります。

  8. 既定の命名オプションを有効にできなかった場合、または Tableau Prep で名前を自動検出できなかった場合は、フィールド名を編集してください。データの最適な説明となるよう、このペインで元のフィールド名を編集することもできます。

  9. (オプション) 変更内容を追跡するには、新しいピボット ステップの名前を変更します。たとえば、「Pivot months (ピボットの月)」とします。

  10. データの変更時にピボット データを更新するには、フローを実行します。新しいフィールドがピボットに追加する必要のあるデータ ソースに追加されている場合は、これらのフィールドを手動でピボットに追加します。

: 複数フィールドに対するピボット処理

この例では、月および年別の薬の売上、税額、および合計に関するスプレッドシートを表示しています。

データをピボット処理すると、各月および各年に対する行、また売上、税額、および合計に対する個々の列を作成し、Tableau でこのデータをさらに容易に解釈して分析できるようにします。

動作中の「複数フィールドのピボット処理」を視聴してください。

ワイルドカード検索を使用したピボット処理 (バージョン 2019.1.1 以降)

大きなデータ セットを操作する場合や長期にかけてデータに頻繁に変更が発生する場合は、列から行へのピボット処理を行う際にワイルドカード検索を使用して、ワイルドカード パターン マッチに基づきデータを瞬時にピボット処理することができます。パターンに一致する新規フィールドが追加または削除されると、Tableau Prep Builder でフローの実行時にスキーマの変更が検出され、ピボットの結果が自動的に更新されます。

  1. データ ソースに接続します。

  2. ピボット処理するテーブルを [フロー] ペインにドラッグします。

  3. プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。

  4. [ピボットされたフィールド] ペインで、[ここをクリックしてワイルドカード ピボットを作成する] リンクをクリックします。

  5. 検索する値または値の一部を入力します。たとえば、「Sales_ (売上_)」と入力すると、「sales_2017 (売上_2017)」「sales_2018 (売上_2018)」および「sales_2019 (売上_2019)」というラベルのフィールドが一致します。

    検索するフィールド値の一部である場合を除き、パターンのマッチングにアスタリスクは使用しないでください。代わりに、[検索オプション] ボタンをクリックして値のマッチング方法を選択します。次に、Enter を押して検索を適用し、一致する値のピボット処理を実行します。

  6. (オプション) [ピボットされたフィールド] ペインでプラス アイコンをクリックしてピボット処理する列を追加し、その後、前のステップを繰り返してピボット処理する他のフィールドを選択します。

  7. 既定の命名オプションを有効にできなかった場合、または Tableau Prep Builder で名前を自動検出できなかった場合は、フィールド名を編集してください。

  8. データの変更時にピボット データを更新するには、フローを実行します。ワイルドカード パターンに一致するデータ ソースに追加された新規フィールドは、自動的に検出されピボットに追加されます。

  9. 期待した結果が得られない場合は、以下のオプションのいずれかを行ってみてください。

    • [検索] フィールドに別の値のパターンを入力して、Enter を押す。ピボットが自動的に更新され、新しい結果が表示されます。

    • 追加するフィールドを [ピボットされたフィールド] ペインの [ピボット1 値] 列に手動でドラッグします。また、手動で追加したフィールドを [ピボット1 値] 列から [フィールド] ペインへドラッグ アンド ドロップして削除することもできます。

      : ワイルドカード検索結果から追加されたフィールドは、[ピボット1 値] 列からドラッグしても削除できません。より詳細なパターンを使用して検出する検索結果をマッチングしてみてください。

行から列へピボット処理する (バージョン 2019.1.1 以降)

データが極端に正規化され、新しい列を作成する必要がある場合は、このオプションを使用して高いデータから幅広いデータへと移行してください。

たとえば、各月の広告費をすべての広告種別が一列に含まれるデータで確認している場合、行から列へデータをピボット処理し種別ごとに列を作成するとデータを分析しやすくなります。

ピボット処理を実行するフィールドを 1 つ選択できます。該当するフィールドのフィールド値を使用して、新しい列を作成します。次に、フィールドを選択して新しい列に入力します。各フィールドの値が集計されます。適用する集計タイプを選択できます。

集計が実行されるため、列から行への逆方向のピボット処理は実行されません。列から行へとピボット タイプを逆にする場合は、操作をやり直す必要があります。トップ メニューで [元に戻す] ボタンをクリックするか、[ピボットされたフィールド] ペインからフィールドを削除するか、またはピボット ステップを削除します。

  1. データ ソースに接続します。

  2. ピボット処理するテーブルを [フロー] ペインにドラッグします。

  3. プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。

  4. [ピボットされたフィールド] ペインのドロップダウン リストで、[行から列] を選択します。

  5. (オプション) [フィールド] ペインで [検索] フィールドに値を入力し、ピボット処理するフィールドのフィールド リストを検索します。
  6. 左側のペインからフィールドを選択し、[ピボットされたフィールド] ペインの [行を列にピボットするフィールド] セクションにドラッグします。

    : ピボット処理を行うフィールドに日付または日付時刻のデータ型が含まれている場合は、文字列に変更してからピボット処理を行う必要があります。

    このフィールドの値を使用して新しい列を作成し、名前を付けます。[ピボットの結果] ペインの列名は後で変更できます。

  7. 左側のペインからフィールドを選択し、[ピボットされたフィールド] ペインの [新しい列の集計フィールド] セクションにドラッグします。このフィールドの値を使用して、前のステップで作成された新しい列に入力します。

    フィールドには既定の集計タイプが割り当てられています。集計タイプをクリックして変更します。

  8. [ピボットの結果] ペインで結果を確認し、作成した新しい列にクリーニング操作を適用します。

  9. ピボット処理されたフィールドの行データに変更がある場合は、[フロー] ペインの [ピボット] ステップで右クリックまたは Ctrl を押しながらクリック (Mac) し、[更新] を選択します。

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