Tableau Prep について改めてご紹介します
Tableauを利用し始めると、まずTableau Desktopでデータを接続したり結合したりしながら、ダッシュボードなどを作っていくかと思いますが、
Tableau Desktopではデータの処理が難しいケースなどが出てきて、Tableau Prepを使ってみようと思ったものの、なんだか難しそう・・・となかなか手が出ない方もいらっしゃるかと思いますが、とても便利なツールですので、ぜひ活用頂きたく、改めてご紹介させて頂けたらと思います。
Tableau Desktopで、複数のデータを結合したりするイメージは以下のようになります。(以下は、少し古いバージョンの例です)
Tableau Desktopで結合やリレーションシップは、全てのデータ接続が利用できるわけではなく、例えば、TableauServerのデータソースを用いた場合、上記は利用できません。
Tableau Serverのデータソースを他のデータと紐づけるには、データブレンドという形で対応する必要がありますが、色々と制限事項が出て、つまずくケースが出てきます。
※”接続の追加”で、結合などが利用ができないケースは、以下のように、文字がグレーアウトし、カーソルを当てると、接続の追加ができない旨、コメントが表示されます。
このような場合は、Tableau Prepを使う必要が出てきます。
以下は、Tableau Prepで、TableauServerに接続した例ですが、複数のデータソースなどを簡単に組み合わせることが可能です。
今回の記事では、Tableau Prepでできることを、最新バージョンを踏まえて改めてご紹介させて頂きます。
また、Tableau Prep初心者の方が陥りやすいケースなども併せてご紹介致します。
Tableau Prepでできること
Tableau Desktopで扱うための事前のデータ処理を行う際、ある程度のことはTableau Desktopで対応できますが、細かい調整などはTableau Prepのほうが扱いやすいです。
以下は、主なデータ処理の項目となります。Tableau DesktopとTableau Prepで比較をしてみました。
< Tableau Desktop > | < Tableau Prep > | |
結合 | △ | 〇 |
ユニオン | 〇 | 〇 |
リレーションシップ | 〇 | 〇(△) |
集計 | 〇 | 〇 |
ピボット | △ | 〇 |
グルーピング | 〇 | 〇 |
クリーニング | 〇 | 〇 |
分割 | 〇 | 〇 |
別名 | 〇 | 〇 |
欠落行の生成 | × | 〇 |
〇:可能 〇(△):可能[複数手順要] △:一部不可のケースあり ×:不可
Tableau Desktopでは、
・結合の面は前述のとおり、TableauServerのデータソースなど、”接続の追加”で結合などが利用できないケースがあります。
・ピボット処理についても、TableauServerのデータソースなど、利用できないケースがあります。
・計算フィールドで作成したものを含めたピボット処理もできません。
ほかにも、
・複雑な計算をさせるような場合、Tableau Desktop上で処理すると、パフォーマンスに影響が出る可能性があります。
※TableauのLOD関数で、様々なフィールドを使ってデータの粒度に合わせて集計しながら計算したフィールド同士でさらに異なる粒度で計算させるような複雑な処理になってくると、Tableau Desktop上の計算フィールドも複雑になりますし、LOD関数を多用すると、ダッシュボードなどのパフォーマンス低下につながったりします。
これらの問題は、Tableau Prepを使うと解決できます。
・Tableau Prepの結合では、Tableau Desktopと異なり、結合タイプを自由に設定することが可能です。
結合のアイコンの主な設定情報は以下のようになります。
・ピボット処理では、列⇒行、行⇒列 の変換処理が可能です。
他にも、
・複雑な計算処理もTableau Prep側で済ませておいて、Tableau Desktopはその結果だけを使うようにすれば、パフォーマンス低下も防げます。
・Tableau Prepでは、リレーションシップを〇(△)と表現させて頂きましたが、リレーションシップは集計してから結合するという処理になりますので、若干処理が増えますが可能です。
・また、最近追加された機能として、欠落行の生成がありますが、こちらはTableau Prepで利用可能です。
(詳しくは、弊社ブログ記事 ”【新機能紹介】Tableau 2021.3”ご参照ください)
Tableau Prep を使ってみよう
改めて、Tableau Prepの使い方を簡単にご紹介させて頂きます。
Tableau Prepを起動したら、まずは接続からデータを選択します。(以下は、Excelファイルを読み込む例)
データが正常に読み込まれると、以下のように表示されます。
Excelの場合は、接続の欄に”ファイル名”、下側に”シート名” が表示されます。
※通常のシート名の他に、Excelで表に”名前の定義”を設定している場合、それらも表示されます。
(名前の定義については、弊社ブログ記事”Excelの名前付き範囲を使ってTableau/Alteryxで幸せになる話” をご参照ください)
シート名などを、右側のワークスペース(余白部分)にドラッグ&ドロップすると、データをセットすることができます。
ワークスペースにデータをセットしたら、次は必要な処理のアイコンを並べてつなげていきます。
アイコンをクリックすると、その時点でのレコード件数や、各フィールドの値のサマリー表示なども可能で、データの状態を視覚的に確認できます。
Tableau Prepは、このようにデータを処理していきます。(Tableau Desktopと同様に、計算フィールドなども追加していくことができます)
Tableau Prep のフロー作成の例と、”結合” で注意するポイント
それでは、具体的なデータを使って、処理の流れを見ていきましょう。
以下の例では、2つのデータを結合しています。(サンプルデータは上記と異なるものを利用しています)
営業担当が3人(3レコード)で、売上を出そうとしますが、売上の一覧のほうが6レコードのため、結果6レコードとなりました。
この結果に、さらに情報を付与します。
ここで、営業部署の情報でレコードが重複しているのを気付かずに、結合をしたとします。
その結果、8レコードとなりました。
元々、A~Cの営業担当で3レコードでしたが、8レコードとなると、少し混乱されるかもしれません。。。
(今回のサンプルデータは少ないのでわかり易いですが、大量のデータを結合していくと、データが膨れ上がり・・・)
このような場合、いくつか注意する点があります。
<ポイント1> フィールドを削除する場合、そのあとに集計を入れる。(もしくは、最初から集計を使う)
このように、結合の手前で集計を入れることで、集約可能なレコードを処理し、分かり易いデータにすることができます。
集計した結果と、営業担当一覧を結合すると、以下のようになります。
結合の際は、結合結果が正しいものか確認が必要となります。
<ポイント2> 結合の際は、結合結果のレコード数が正しいかチェックする。
今回の例では、結合した後、さらに営業部署の情報を結合しますが、営業部署の情報にレコードの重複があるまま結合してしまい、以下のような状況になっています。
担当者や地域、属性など、元のデータに関連する情報を紐づける場合、元のデータのレコード数は増えない想定であることが多いと思います。今回もレコード数は増えないのが正しい状態となりますが、上記の例ではレコードす数が増えてしまっています。
このような状態を放置して処理を進めていくと、最終的な結果がおかしくなり、原因の切り分けが大変になりますので注意が必要です。
そもそも、営業部署の情報のレコード重複がよろしくないのですが、様々なデータをあつめて処理するような場合、このようなものも入ってきてしまうことがあります。。。。
このようなときも、先ほどのように、”集計”を入れることでレコードの重複を無くすことができ、正しい処理が可能となります。
<ポイント3> 結合の際は、レコードの重複に注意する。(集計などで重複を解消)
結合で結果が増える要因としては、以下のようなものが挙げられます。
- レコード数の重複 (結合キーとなるフィールドにレコード重複があると、余分な結合が発生します。集計などで重複を解消するべきです)
- 結合キーの条件不足 (結合キーの設定が足りないと、同様に余分な結合が発生します。共通のキーを正確に把握するべきです)
- 不要なカラム (カラムが増えるとデータが細分化されレコード数が増えます。不要なカラムは削除し、集計するべきです)
その他の注意点としては、
- 結合に使ったキーの重複フィールドの削除
複数のデータなどを結合処理していく過程で、結合に使ったキーのフィールド(同じ名称)が複数になるため、同一の内容のフィールドであれば不要(重複)のフィールドは削除しておきましょう。このとき、同一名称のフィールドでも、結合の仕方(内部結合や左結合など)によっては、どちらを残すべきか確認してから不要なフィールドを削除するようにしましょう。
これらは一見難しいように見えますが、データを正しく処理する過程で、必要なことですので、ぜひ参考にしてみてください。
(データの結合は、Tableau Desktopの結合も同様で、データの細かさ[粒度]を合わせる必要があります。Tableau Desktopで結合した場合、Tableau Prepのように視覚的な表現が少なく、分かりにくいこともあります。様々なデータを組み合わせていくようなケースでは、Tableau Prepを使ったほうが、データの処理の過程を確認しやすいです)
今回は改めて、Tableau Prepでできることと、結合について注意する点をご紹介させて頂きました。
一見、単純な”結合” でも、気を付けないと誤ったデータを作成してしまいますので、注意しましょう。
※Tableau Prep 2022.1.1時点の情報となります