データのピボット処理
注: バージョン 2020.4.1 以降では、Tableau Server および Tableau Cloud でフローの作成と編集を行えるようになりました。このトピックの内容は、特に記載がない限り、すべてのプラットフォームに適用されます。Web 上でのフローの作成の詳細については、Tableau Server(新しいウィンドウでリンクが開く) および Tableau Cloud(新しいウィンドウでリンクが開く) ヘルプの「Web 上の Tableau Prep」を参照してください。
スプレッドシートやクロス集計の書式のデータの分析は、Tableau では困難な場合があります。Tableau では、データが「幅広い」よりも「高い」方が好まれます。このため、多くの場合、Tableau がデータを適切に評価できるよう、列から行にデータをピボット処理する必要があります。
ただし、データ表が高く狭いと、表が極端に正規化され適切な分析ができなくなることもあります。たとえば、営業部門が追跡する広告費を [radio (ラジオ)]、[television (テレビ)]、[print (紙媒体)] という行が含まれる [Advertising (広告)] 列と、総費用を表す列の 2 列で表すとします。このシナリオでは、データを個別のメジャーとして分析するように行データを列にピボット処理する必要があります。
しかし、大きなデータ セットや長期にかけて頻繁に変更の発生するデータのピボット処理に関してはどうでしょうか。この場合は、ワイルドカードのパターン マッチを使用してパターンが一致するフィールドを検索し、自動的にデータをピボット処理することができます。
データをピボット処理する際は、以下のいずれかのオプションを使用します。
列から行へピボット処理する
ワイルドカード検索を使用して、パターン マッチに基づいてフィールドを瞬時にピボット処理する (Tableau Prep Builder バージョン 2019.1.1 以降および Web 上)
- 行から列へピボット処理する (Tableau Prep Builder バージョン 2019.1.1 以降および Web 上)
フィールドをピボット処理する方法に関係なく、結果を直接操作して追加のクリーニング操作を実行し、データを必要な方法で表示させることができます。また、Tableau Prep のスマートな既定の命名機能を使用し、ピボット処理されたフィールドや値の名前の変更を自動で行うこともできます。
列から行へピボット処理する
このピボット オプションを使用して幅広いデータから高いデータへと移行します。1 つ以上のフィールド グループで、列から行へピボット処理します。操作するフィールドを選択し、列から行にデータをピボット処理します。
データ ソースに接続します。
ピボット処理するテーブルを [フロー] ペインにドラッグします。
次のいずれかを実行します。
- Tableau Prep Builder バージョン 2019.4.2 以降および Web 上: [プロファイル] ペインでピボット処理するフィールドを選択し、右クリック (MacOS では Ctrl を押しながらクリック) して、メニューから [列から行へピボット処理する] を選択します。このオプションを使用する場合は、手順 7 に進みます。
すべてのバージョン: プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。
フィールドを選択します (Tableau Prep Builder バージョン 2019.4.2 以降および Web 上)。 フロー ステップ メニュー (すべてのバージョン)
(オプション) [フィールド] ペインで [検索] フィールドに値を入力し、ピボット処理するフィールドのフィールド リストを検索します。
- (オプション) [ピボットされたフィールドと値の名前を自動変更する] チェック ボックスを選択し、Tableau Prep により、ピボット処理された新しいフィールド名を、データの共通する値を使用して変更できます。共通する値が見つからない場合は、既定の名前が使用されます。
左側のペインから 1 つ以上のフィールドを選択し、それを [ピボットされたフィールド] ペインの [ピボット1 値] 列にドラッグします。
(オプション) [ピボットされたフィールド] ペインでプラス アイコンをクリックしてピボット処理する列を追加し、その後、前のステップを繰り返してピボット処理する他のフィールドを選択します。結果はすぐに [ピボットの結果] ペインとデータ グリッドに表示されます。
注: ステップ 5 で選択したのと同じ数のフィールドを選択する必要があります。たとえば、最初のピボット処理に 3 つのフィールドを選択した場合は、ピボット処理するその後の各列にも 3 つのフィールドが含まれる必要があります。
デフォルトの命名オプションを有効にできなかった場合、または Tableau Prep で名前を自動検出できなかった場合は、フィールド名を編集してください。データの最適な説明となるよう、このペインで元のフィールド名を編集することもできます。
(オプション) 変更内容を追跡するには、新しいピボット ステップの名前を変更します。たとえば、「Pivot months (ピボットの月)」とします。
データの変更時にピボット データを更新するには、フローを実行します。新しいフィールドがピボットに追加する必要のあるデータ ソースに追加されている場合は、これらのフィールドを手動でピボットに追加します。
例: 複数フィールドに対するピボット処理
この例では、月および年別の薬の売上、税額、および合計に関するスプレッドシートを表示しています。
データをピボット処理すると、各月および各年に対する行、また売上、税額、および合計に対する個々の列を作成し、Tableau でこのデータをさらに容易に解釈して分析できるようにします。
動作中の「複数フィールドのピボット処理」を視聴してください。
ワイルドカード検索を使用したピボット処理
Tableau Prep Builder バージョン 2019.1.1 以降および Web 上では、大きなデータ セットを操作する場合や、長期にわたって頻繁にデータの変更が発生する場合に、ワイルドカード検索を使用できます。列から行へのピボット処理を行う際にワイルドカード検索を使用して、ワイルドカード パターン マッチに基づいてデータを瞬時にピボット処理することができます。
パターンに一致する新規フィールドが追加または削除されると、Tableau Prep でフローの実行時にスキーマの変更が検出され、ピボットの結果が自動的に更新されます。
データ ソースに接続します。
ピボット処理するテーブルを [フロー] ペインにドラッグします。
プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。
[ピボットされたフィールド] ペインで、[ワイルドカード検索を使用してピボットを作成する] リンクをクリックします。
検索する値または値の一部を入力します。たとえば、「Sales_ (売上_)」と入力すると、「sales_2017 (売上_2017)」、「sales_2018 (売上_2018)」および「sales_2019 (売上_2019)」というラベルのフィールドが一致します。
検索するフィールド値の一部である場合を除き、パターンのマッチングにアスタリスクは使用しないでください。代わりに、[検索オプション] ボタンをクリックして値のマッチング方法を選択します。次に、Enter を押して検索を適用し、一致する値のピボット処理を実行します。
(オプション) [ピボットされたフィールド] ペインでプラス アイコンをクリックしてピボット処理する列を追加し、その後、前のステップを繰り返してピボット処理する他のフィールドを選択します。
デフォルトの命名オプションを有効にできなかった場合、または Tableau Prep で名前を自動検出できなかった場合は、フィールド名を編集してください。
データの変更時にピボット データを更新するには、フローを実行します。ワイルドカード パターンに一致するデータ ソースに追加された新規フィールドは、自動的に検出されピボットに追加されます。
期待した結果が得られない場合は、以下のオプションのいずれかを行ってみてください。
[検索] フィールドに別の値のパターンを入力して、Enter を押す。ピボットが自動的に更新され、新しい結果が表示されます。
追加するフィールドを [ピボットされたフィールド] ペインの [ピボット1 値] 列に手動でドラッグします。また、手動で追加したフィールドを [ピボット1 値] 列から [フィールド] ペインへドラッグ アンド ドロップして削除することもできます。
注: ワイルドカード検索結果から追加されたフィールドは、[ピボット1 値] 列からドラッグしても削除できません。より詳細なパターンを使用して検出する検索結果をマッチングしてみてください。
行を列にピボット
Tableau Prep Builderバージョン 2019.1.1 以降および Web 上では、データが過度に正規化されたために新しい列を作成する必要がある (背の高いデータから幅の広いデータに移す) 場合、列に行をピボットできます。
たとえば、各月の広告費をすべての広告種別が一列に含まれるデータで確認している場合、行から列へデータをピボット処理し種別ごとに列を作成するとデータを分析しやすくなります。
ピボット処理を実行するフィールドを 1 つ選択できます。該当するフィールドのフィールド値を使用して、新しい列を作成します。次に、フィールドを選択して新しい列に入力します。各フィールドの値が集計されます。適用する集計タイプを選択できます。
集計が実行されるため、列から行への逆方向のピボット処理は実行されません。列から行へとピボット タイプを逆にする場合は、操作をやり直す必要があります。トップ メニューで [元に戻す] ボタンをクリックするか、[ピボットされたフィールド] ペインからフィールドを削除するか、またはピボット ステップを削除します。
データ ソースに接続します。
ピボット処理するテーブルを [フロー] ペインにドラッグします。
プラス アイコンをクリックし、コンテキスト メニューから [ピボットの追加] を選択します。
[ピボットされたフィールド] ペインのドロップダウン リストで、[行から列] を選択します。
- (オプション) [フィールド] ペインで [検索] フィールドに値を入力し、ピボット処理するフィールドのフィールド リストを検索します。
左側のペインからフィールドを選択し、[ピボットされたフィールド] ペインの [行を列にピボットするフィールド] セクションにドラッグします。
注: ピボット処理を行うフィールドに日付または日付時刻のデータ型が含まれている場合は、文字列に変更してからピボット処理を行う必要があります。
このフィールドの値を使用して新しい列を作成し、名前を付けます。[ピボットの結果] ペインの列名は後で変更できます。
左側のペインからフィールドを選択し、[ピボットされたフィールド] ペインの [新しい列の集計フィールド] セクションにドラッグします。このフィールドの値を使用して、前のステップで作成された新しい列に入力します。
フィールドには既定の集計タイプが割り当てられています。集計タイプをクリックして変更します。
[ピボットの結果] ペインで結果を確認し、作成した新しい列にクリーニング操作を適用します。
ピボット処理されたフィールドの行データに変更がある場合は、[フロー] ペインの [ピボット] ステップで右クリック (MacOS では Ctrl を押しながらクリック) し、[更新] を選択します。