見出し画像

Tableau Prepの作業を変えるTips集14 ーTableauDesktop と Prep の違いー

Tableau Prepユーザー会のNakajima2です。
今回は、2024年6月13日開催の第9回Tableau Prepユーザー会イベントのアンケートで質問を頂いた「Tableau Desktop と Prep の違い」について、データ操作の観点と、処理が大きく違う点や、Prep利用時のメリットについてまとめてみました。

Prep Tips (27) : データの基本操作から見て


Tableau Blueprintでも示されるTableauの分析ベストプラクティスのベースともなる考え、「ビジュアル分析のサイクル」において、Prepは「Get Data」で重要な役割を担うポジションに位置します。
Tableau DesktopでのViz作成、Insightを得る作業の前段階で元となるデータを分析しやすい状態に前加工するために優れたUIを持つツールです。

ビジュアル分析のサイクル Prepは「Get Data」を担う

DeskTopでもデータの加工作業は可能ですが、作業性、処理結果の即時確認、大量データの扱いなどでPrepの方が有益な点が多いと思います。

Tableau Desktop と Prep の違いについて、データの基本操作 ①抽出、②並べ替え、③ 計算、④集計、⑤結合 の5つの視点で、それぞれの操作について比べてみました。
 *データソースは、Desktop同梱のサンプルスーパーストアを利用
  作成する表(Viz)は次の通りです

今回 DesktopでViz表示させるクロス集計表

1) Desktop での操作

①抽出(フィルタ)

データソースのキャンパス(画面右上、抽出とデータソースのフィルタ)と、ワークスペースのデータペインなど(一般的な各フィルタ)で操作します。

①抽出 データソースに対して
①抽出 ディメンジョンなどに対して

②並べ替え、③ 計算、④集計

ワークシート内の各場所で操作が可能です。ピルのドラッグ&ドロップ操作、アイコンを押す などで操作出来ます。

ワークシートでの ②並べ替え、③ 計算、④集計 各操作

⑤ 結合

データソースのキャンバス内でリレーションと結合、ユニオンが操作出来ます。

⑤結合 処理の例

2) Prep での操作

Prepでの各種操作は、データソース接続以後のフローペインで作業を行います。一連の流れ作業的に操作が出来ます。データ処理の流れを考えながらフローが作成できるので、出力結果をイメージしながらの作業が容易に行えます。

前述のDesktopで作成したViz(クロス集計表)は、次のフロー例などで作成出来ます。

Desktopで作成したViz(クロス集計表)と同じ出力となるフロー例
各操作が行われるステップを記載
出力されたデータ(Desktopのものと同じ並び)

⑤結合

今回のフローの中でデータソース処理の中心となる操作です。
データ接続した2つのデータソース(今回は、Excelの2つのワークシート)をドラッグ&ドロップで繋げます。結合キーとなるフィールドは [地域] になります。

結合結果 今回は、内部結合で全てのデータが結合されました

①抽出(フィルタ)

抽出(フィルタ)が行えるステップは、次の2箇所があります。
 (A)データソースに接続した最初のステップ
 (B)フロー途中のクリーニングステップなど

Prepでは、Desktopにあるデータソース接続時にデータソース全体対し処理出来る「抽出フィルタ」と「データソースフィルタ」の概念がありません。
データソースに接続した最初のステップで、フィールド単位に対する抽出を行う作業で大枠必要なデータ数に絞り込む作業を行います。

データ処理においては、扱うデータ量が少ない方が処理速度が向上しますので、このデータソース接続で最初のステップの段階でフィールド数を減らす処理を行うことで作業性の向上も図れます。

(A)事例 : 「注文」データから、今回の処理に必要なフィールドのみに絞り込む

Desktopのディメンジョンに行う抽出作業は、Prepではクリーニングステップなどで対応出来ます。
今回の [地域] の選択は、該当フィールドの3点リーダーから、「フィルター」ー「選択した値」で下記画面を表示させ、必要なデータを保持(もしくは除外)を行います。

(B)事例 : [地域] のフィールドに「選択した値」で抽出する

④集計

DesktopのViz作成では、ディメンジョンなどのワークシートへのドラッグ&ドロップ作業でデータの粒度(Lrevel Of Detail)調整をした後のメジャーを入れることで自動的に対象のメジャーに集計(合計、平均など)が行われる仕掛けになっています。
Prepにおいては、フローの中で対象となる全データに対して集計をかける概念になります。
今回の事例では、結合後のデータに対し、集計を施す操作でデータの集計を行います。[地域] のフィールドをグループ対象に設定し、[地域マネージャー]、[売上]、[利益] のフィールドを集計対象として処理することで操作を行なっています。

結合後のデータ例
結合後のデータを集計処理した例
[地域] のデータをグループ単位に設定し、他のデータを集計する操作

②並べ替え、③ 計算

多くの処理は、クリーニングステップで実施出来ます。
③計算は、Desktopと同類の関数を利用して記述します。
②並べ替えは、PrepがSQL、データベース処理を元にして動作しているため、グループ化、および並び替えの関数を含んだ関数で処理する必要があります。この点、操作詳細については、別途Tipsでご紹介している記事をご参照ください。

クリーニングステップ中の ③計算 と ②並べ替え の例

今回のデータソースで利用したサンプルスーパーストアなどのデータ量が少ないソースを利用するケースであれば、Desktopで修正操作を行いながらのViz作成の方が効率が良いと感じること多いと思います。
データ量が多く、更にフィールド数なども多くなると、Desktopでは作業性が落ち処理速度が遅くなると体感するケースが増えるため、大量データ処理の際はPrepで前処理を行った方がDesktopでのViz作成効率が向上することが多くなります。
また、前処理をしっかり行っておくことで、Vizでのグラフなどの作り易さ(比較的手数少なく様々なグラフが作れる)などはPrep前処理を行うメリットと思います。

Prep Tips (28) : 処理の内容が違うもの、Prep利用時のメリット

処理の内容が違うもの

DesktopとPrepで差異がある特徴的な操作を挙げてみます。
これら操作の違いも、Prepのメリットに挙げられます。

ピボット

1)Desktopの場合

データの横持ち→縦持ち変換は、データソースのキャンバス内で変更します。データソース接続時の初期段階での作業になり、Desktopでは、「列から行」のピボットが操作できます。

ピボット キャンバス内から操作出来る
(例):[オーダー日]と[出荷日]のデータを縦持ち(行から列)にピボットする

2)Prepの場合

Prepでのピボット操作は、フローの中にピボットのステップを追加することで行います。UIの操作画面が分かり易く、ピボットするフィールド(今回は、[オーター日] と [出荷日]をドラッグ&ドロップで所定の位置に落とすことで操作できます。
画面左側にピボットの結果も表示され、操作が適切かどうかもその場で確認出来ます。

Desktopと同じPrepでのピボット処理操作

Prepでのピボット処理においては、「列から行」のピボットだけでなく、「行から列」のピボットも処理出来ます。

   データ処理の基本は縦持ち! 「行から列」のピボットなんて使うの?

との声も聞こえてきそうですが、PrepをDesktopでのViz作成ではなくシステムへのデータ転送のためのデータ前処理用途として利用する際は、この「行から列」ピボットがとても有益なケースが多々あります(筆者は、かなり頻繁にお世話になっている)。
知っていると助かる機会もあると思います。下図画面の▼ボタンを押して使えることだけでも覚えておいてください。
また、これらのピボット処理は、フローの中で何回でも利用可能です。

ピボットの方向切り替え

文字列修正

1)Desktopの場合

Desktopでの文字列分割の事例です。
サイドバー データソース(ペイン)などから操作出来ます。
  *下の図は、[製品ID]をカスタム分割する例です 

Desktopで[製品ID]をカスタム分割する操作

2) Prep の場合

PrepでもDesktopの類似の操作で文字列の分割が操作できます。
プロファイルペインのカード(フィールド内のデータ詳細が表示されている部分)の3点リーダーから「値の分割」ー「カスタム分割」の選択で操作が出来ます。文字列分割においては、Desktopとほぼ同じメニュー表示がされます。

Prepで[製品ID]をカスタム分割する操作

上の画面表示を見てお気づきの方も多いと思いますが、Prepはこの操作で多くの文字列操作が実施出来ます。抽出(フィルター)各種クリーニング(文字、およびスペースの操作)値のグループ(表記ゆれの修正など)重複行の特定なども行え、Desktopよりも処理できる機能が多いことも特徴の一つです。

Prep利用時のメリット

データの内容をビジュアルとして確認出来る

プロファイルペインからデータのばらつき状況をビジュアル的に確認できます。Desktopでは各フィールドのデータは表示されるだけですが、Prepではグラフィック的にデータの状態が表示され、行レベルで外れ値の存在やNULLの有無、存在割合が確認出来ます。
プロファイルペインで表示されたデータは、画面上で直接の操作(修正、削除など)も容易に行え、操作性が考慮されたものになっています。

プロファイルペインのデータ表示例
グラフ上のデータをクリックするとデータの存在状態が確認出来る

操作の結果(サマリ)がその場で確認出来る

Prep 結合操作のところでも記載しましたが、Prepでは各操作後のデータ処理の結果がその場で確認出来ます。
これは大きなメリット。操作による件数、キーフィールドの一致、不一致の確認をしながらの作業で、作業効率が向上します。

一例として、上記の[製品ID]をカスタム分割するケースで、「-」で分割の最初の文字列を取り出す処理をしたケースが下図になります。結果、3つのデータが取れていることが直ぐ確認出来ます。

[製品ID]をカスタム分割する:「-」で分割の最初の文字列を取り出す処理

データの加工プロセスを俯瞰して捉えられる

フローペインで加工処理全体の流れが分かり、各ステップの操作内容がクリックすることで下段に表示されます。
全体でどのような処理をしたか、各ステップ(アイコンで処理の内容が推測付く)で具体的にどのような処理をしたかを、ビジュアル的に確認できることで、加工処理の確からしさを確認しやすくなっています。
不要なデータの除外などが簡単に操作できると共に、処理の早い段階でデータを整理する(必要なデータのみにとする)ことで、処理のしやすさと共に、フローの実行速度向上も期待出来ます。

メンテナンスが容易

上記フローの例で、クリーニングステップの処理にエラーが発生していた時に、エラーの原因が集計ステップで必要であるフィールドを間違えて利用していなかった(削除していた)ようなケースがあった場合、前のステップ(集計ステップ)に戻って必要なフィールドを利用する設定に変更することで、フロー全体の修正を行うことが出来ます。

クリーニングステップで ! のエラーが表示されていた
集計ステップ見たら、間違えて売上のフィールドを集計フィールドに入れ忘れていた
売上のフィールドを集計フィールドに入れ直し
クリーニングステップが思い通りの処理になっています

データ加工の変更履歴を残せる

引き継ぎ、管理が容易です。
Desktopでは加工では、計算フィールドの作成時に // を利用し関数に意味などにコメントは残せるものの、計算の順番、流れ(操作を進めた作業者の意図)が表しづらい状況です。
Prepの場合は、フローが俯瞰的に把握出来ることと合わせ、計算や抽出などの操作履歴を記録出来ます。操作の管理(作業の順番変更もドラッグ&ドロップで直ぐ出来る)や、引き継ぎなどでの伝達性の良さがメリットです。

計算などの操作離席を順番として記録出来る

一度作成したフローでデータ加工を自動化出来る

① Prepを利用する大きなメリットのひとつが、一度作成したフローを用いたデータの更新作業が簡便になる点です。
データソースの名称(付け方ルール)に工夫は必要ですが、毎日更新されるデータソースに対し、Prepフローを一度立ち上げれば、その時点で最新のデータソースを読み込みます。出力すれば最新データでフローが処理され、データが出力。フローに応じた加工処理がほぼ自動で処理出来るようになります。

② Tableau Prep Conductorを導入されている環境であれば、Prepで作成したフローをTableau Serverにフローをパブリッシュして、フローの自動実行(時間指定してフローを実行させる)ことも更に可能です。
これを利用すると、指定時間に最新のデータを読み込んだフローが実行され、フロー結果も最新の状態に更新されたものとなります。完全な自動システムですね。

筆者の業務環境では、①、② 双方が利用出来る状況ですが、どちらもExcelなどでデータ加工処理をしていた作業が大幅に作業時間の短縮が図れています。
工場現場などのDesktopでのViz作成だけでなく、データ加工処理を多く行っている部署では、作業時間の短縮による「業務効率化」への貢献は大変大きいと感じています。これだけでも、Prepを利用する価値が大きいと日々感じています。

おわりに

Tableau でDesktop と Prep で操作面と役割に違いがある点が少しでもお分かりいただければと思っています。
どちらも重要なツールであり、連携して使うもの。
「ビジュアル分析のサイクル」を進めるために両者を上手く使いお仕事を進めて頂ければと思います。

データ加工、前処理部分でご苦労されているユーザーサイドの方多いのではないでしょうか。
このような方は、是非Prepの利用を考えてみて頂ければと思っています。

この記事が気に入ったらサポートをしてみませんか?