Tableau Prep(タブロープレップ)は、Tableauで分析する前のデータを結合・加工・クリーニングするための製品です。フローを作るデスクトップアプリのTableau Prep Builderと、作ったフローをTableau ServerやTableau Cloudでスケジュール実行するTableau Prep Conductorの2つで構成されます。この記事では、公式ヘルプに沿ってフロー作成の手順を示し、定期実行をConductor・コマンドライン・REST APIの3通りで組むコード例と、Prepを選ぶ条件・見送る場面を載せます。
まとめ:Tableau Prepで整形フローを作り定期実行に載せるまでの判断材料
Tableau Prep Builderは、Tableau DesktopとともにCreatorライセンスに含まれます。表記ゆれの修正、結合、ピボットをコードなしでフロー図として組めるため、行き先がTableauのダッシュボードで、整形のルールを業務部門のCreatorが直したいなら合います。
つまずきやすいのは定期実行です。手で回すだけならCreatorで足りますが、スケジュールに載せるにはData ManagementとPrep Conductorが要ります。無い場合はコマンドラインで回せますが、クラウドコネクタ、シングルサインオン、多要素認証のどれかが絡むと使えません。
整形したデータをデータベースに書き戻し、Tableau以外のシステムも読む構成になったら、SQLやETL基盤へ処理を移す段階です。
Prep BuilderとPrep Conductorの役割分担とライセンスの前提条件
Prepの2製品は、「作る道具」と「回す仕組み」に分かれます。製品群全体の中での位置づけはTableau(タブロー)とは:製品の種類・データ接続・権限設計と自社開発との使い分けで整理しているため、ここではPrepの中の分担に絞ります。
Prep Builderで組むフローの構造:入力・ステップ・出力とサンプルでの確認
Tableau Prep についてによると、作業画面は接続ペイン、フローペイン、プロファイルペイン、データグリッドの4つで構成されます。データに接続したらテーブルをフローペインへドラッグし、その後ろにクリーニング、結合、ピボットなどのステップをつないでいきます。
各ステップで見えているのはデータのサンプルです。フローを実行して初めて、すべての操作がデータ全体に適用されます。プロファイルペインにはフィールドごとの値の分布が出るので、外れ値やNULLの多い列を、加工の途中で目で確かめられます。名称は2019.1.2でTableau PrepからTableau Prep Builderに変わりました。
手動実行はCreatorだけで可能、定期実行はData Managementが要る境界
Tableau Prep Conductor(Tableau Server)のヘルプは、ConductorがData Managementの一部であり、2020.4以降はスケジュール実行とREST APIからの実行にData Managementライセンスが必要だと明記しています。Tableau Cloud版のヘルプも同じ扱いで、メール通知の設定にもData Managementが要ります。
逆に、次の操作はData Managementなしでできます。
- Prep Builderからフローを手動で実行する
- フローをServerやCloudへパブリッシュし、Web上で手動実行する
- Creatorとして、Web上でフローを作成・編集する
自動更新が要件に入った時点で、Data Managementの費用か、後述するコマンドライン運用の作り込みのどちらかが発生します。年額はTableauの価格|Creator・Explorer・Viewerの料金と人数別の年額、CloudとServerの差で比べています。
Prep Builder・Web上のPrepの機能差と1GB・1,048,576行の上限
2020.4からは、ServerやCloudのブラウザ上でもフローを作れます。Web 上の Tableau Prepには、Web作成にだけかかる制限が並んでいます。
| 項目 | Prep Builder | Web上のPrep |
|---|---|---|
| ファイル接続の上限 | 記載なし | 1ファイル1GBまで |
| データサンプル | 全件を含める設定あり | Cloudは1,048,576行で固定 |
| 入力ユニオン | 作成できる | 作成・編集できない |
| 抽出ファイルへの出力 | できる | できない |
サンプル行数の上限はServerなら管理者がTSMで変えられ、Cloudでは変えられません。大きなファイルやフォルダ単位の読み込みは、Prep Builderで作ってからパブリッシュします。
Prep Builderのダウンロードとインストールで確認する導入時の注意点
インストール自体は画面に従うだけで、注意が要るのは入れる先のマシンと版を上げるときの互換性です。
64ビット専用でDesktopと同じPCに入れ、Server機には入れない理由
公式の導入ガイドのインストール手順には、Prep Builder固有の注意が3つ書かれています。
- Prep Builderは64ビット版だけ。32ビットのデータベースドライバーしか入っていないPCでは、64ビット版のドライバーを入れ直す
- Tableau Desktopと同じPCに入れるのが推奨。Prep BuilderはDesktopと連携して動くように作られている
- Tableau Serverが動くマシンには入れない。Serverのリソースマネージャーが両者のプロセスを区別できず、Prep Builder側のプロセスを終了させることがある
コマンドラインで回す専用機を置くなら、Serverとは別のWindowsマシンを用意します。Desktopの導入はTableau Desktopとは:Free Editionとの違い・インストール手順・データ接続の初期設定で扱っています。
版を上げる前にServerとの互換性をリリースノートの一覧で確かめる手順
新しい版のPrep Builderで作ったフローは、古いServerではスケジュールに載せられないことがあります。
Tableau Prep のリリース ノートのViz(ダッシュボード)で[アップグレードの準備]を開くと、Prep Builderの版ごとに、そのフローをスケジュール実行できるServerの最小バージョンが一覧で出ます。たとえば結合ステップの空間結合は2026.1で加わった機能なので、それを使ったフローは対応するServerでしか回りません。Prep Builderを個人の判断で上げさせず、Serverの版に合わせて配る運用にします。
Prep Builderでのフロー作成手順:表記ゆれの修正・結合・ピボット・出力
売上の明細と顧客マスタを整えて分析用の抽出を作る流れを例に、ステップごとの設定を見ます。
インプットステップでの接続とワイルドカードによる複数ファイルのユニオン
データ フローを開始する、または開くのとおり、ファイルやデータベースに接続してテーブルをフローペインへドラッグすると、インプットステップができます。
月ごとに分かれたCSVを1つにまとめたいときは、インプットステップのワイルドカード検索を使います。「sales_2026*.csv」のようなパターンで同じフォルダのファイルを拾い、1つのデータソースとしてユニオンする機能で、翌月のファイルを置けば次回の実行に含まれます。この入力ユニオンはPrep Builderでしか作れません。
表記ゆれを直す値のグループ化:読み方・一般的な文字・スペルの違い
顧客名の「株式会社」と「(株)」、全角と半角の混在は、結合の前に直します。クリーニング操作の「値のグループ化」には、自動でまとめる方式が用意されています。
| 方式 | 使うアルゴリズム | 日本語データでの向き不向き |
|---|---|---|
| 読み方 | Metaphone 3 | 英単語向け |
| 一般的な文字 | ngram fingerprint | 全言語で動く |
| スペル | レーベンシュタイン距離 | 全言語で動く |
「一般的な文字」は句読点・重複・空白を除いた文字の組み合わせでまとめるため、語順が違うだけの値も同じグループに入ります。読み方を見ないため、別人の名前が混ざる場合もある点には注意が必要です。自動グループ化の結果は、件数の多いグループから目で確かめてから確定します。
結合タイプ7種類と除外済みバーで一致しない行を見つける確認手順
データの集計、結合またはユニオンによると、結合タイプは左、内部、右、左のみ、右のみ、非内部、完全の7種類です。既定は内部結合で、共通するフィールド名から最初の結合句が自動で作られます。
結合ステップで必ず見るのが「結合結果のサマリー」です。テーブルごとに含まれた件数と除外された件数がバーで出て、[除外済み]のバーをクリックすると一致しなかった行だけを表示できます。ヘルプが不一致の原因として挙げているのは、大文字小文字の違い、略語、余分なスペース、末尾のピリオドの有無です。明細側の件数が結合の前後で減っていたら、内部結合で落ちた行が無いかを、このバーで確かめてから次へ進みます。
列から行へのピボットとワイルドカードで列の追加に追従させる設定
Excelの「4月・5月・6月…」のように月が列に並ぶ表は、Tableauでは扱いにくい形です。データのピボット処理は、Tableauはデータが横に広いより縦に長い形を好むと説明し、列から行へのピボットを用意しています。
月の列が毎月増える表では、ピボットするフィールドをワイルドカードのパターンで指定します。2019.1.1以降のPrep BuilderとWeb上で使える機能で、パターンに合う列が増えた場合も、自動でピボットの対象に入る仕組みです。逆向きの行から列へのピボットも同じ版から使えます。
出力先4種の選び方:.hyper・CSV・パブリッシュ・データベース
フロー データの保存と共有では、出力ステップの保存先として次が選べます。
| 保存先 | 主な用途 | 注意点 |
|---|---|---|
| 抽出ファイル(.hyper) | Desktopで開く | Web上のフローでは選べない |
| CSV・Excel | 他部署や外部へ渡す | CSVはBOM付きUTF-8 |
| パブリッシュされたデータソース | ServerやCloudで共有 | 計算フィールドなどは維持して更新 |
| データベース | 他システムでも読む | 書き込み方式でテーブルが消える |
データベースへの出力には「テーブルに追加」「テーブルの作成」「データの置換」の3つの書き込み方式があります。「テーブルの作成」は既存のテーブルを、定義した構造ごと削除して作り直します。ヘルプは書き込み前にカスタムSQLでコピーを取る方法も案内しており、本番の前に検証用のスキーマで試すのが前提です。
フローを定期実行する3通りの方法:Conductor・コマンドライン・REST API
フローを毎朝回す方法は3通りあります。Data Managementを持っているかどうかと、出力先がServerかCloudかで選びます。
Conductorのスケジュールとリンクされたタスクで最大20件を順に実行
フロー データを最新に維持するのとおり、ConductorはServerとCloudの2019.1以降で使えます。Prep Builderからフローをパブリッシュし、フローにスケジュールのタスクを足すだけで、実行履歴と失敗時のメール通知まで揃います。
前処理のあとに集計のフローを回すなら、2021.3で加わった「リンクされたタスク」で最大20件を順番に実行します。時間差でスケジュールを並べるより、前段の遅延に強い組み方です。Cloudでは2026.2.4以降、Creatorがフローをサイトへ直接アップロードすることもできるようになりました。
tableau-prep-cliとcredentials.jsonで毎朝回すバッチ例
Data Managementが無い場合は、Prep Builderを入れたWindowsマシンでフローをコマンドラインから実行します。コマンド ラインからフロー出力ファイルを更新によると、データベースへの接続やサーバーへのパブリッシュを含むフローでは、接続先ごとの認証情報を書いたJSONファイルを-cで渡します。社内のPostgreSQLから読み、Tableau Serverへパブリッシュするフローの例です。
{
"tableauServerConnections": [
{
"serverUrl": "https://tableau.example.internal",
"contentUrl": "sales",
"port": 443,
"username": "prep_batch",
"password": "Serverのパスワード"
}
],
"databaseConnections": [
{
"hostname": "pg01.example.internal",
"port": "5432",
"username": "prep_reader",
"password": "DBのパスワード"
}
]
}
serverUrlの末尾に「/」を付けない、既定サイトならcontentUrlを空文字にする、といった決まりがあり、フロー内の接続先とJSONが一致しないと実行は失敗します。パスワードを平文で持つため、実行用アカウントだけが読めるフォルダに置きます。
次に、フローを実行するバッチファイルを用意し、schtasks createで毎朝5時に登録します。
rem D:\prep\run_sales_daily.bat
@echo off
rem インストール済みのPrep Builderのフォルダを探す(複数あれば名前順で最後のもの)
for /d %%D in ("C:\Program Files\Tableau\Tableau Prep Builder *") do set "PREP_HOME=%%D"
call "%PREP_HOME%\scripts\tableau-prep-cli.bat" -c "D:\prep\credentials\sales_daily.json" -t "D:\prep\flows\sales_daily.tfl" >> "D:\prep\logs\sales_daily.log" 2>&1
exit /b %ERRORLEVEL%
rem 管理者のコマンドプロンプトで登録する(パスワードは登録時に聞かれる)
schtasks /create /tn "Prep\sales_daily" /tr "D:\prep\run_sales_daily.bat" /sc daily /st 05:00 /ru CORP\prep_batch /rl highest
ヘルプが管理者権限を求めているため、/rl highestで動かしています。ログインベースのライセンス管理では、Prep Builderを長く開かないとリースが切れてコマンドライン実行が失敗するので、実行用アカウントで定期的にサインインし直す手順も残します。
コマンドライン実行が使えない条件:クラウドコネクタ・SSO・MFA
同じヘルプには、コマンドライン実行の制約が明記されています。
- Google BigQueryなどのクラウドコネクタを含むフローは実行できない
- シングルサインオン認証を使う環境では実行できない
- TableauのMFA(多要素認証)に対応していない
多要素認証 と Tableau Cloudによると、Tableau Cloudは2022年2月1日からMFAが必須で、満たし方はIdP側のSSOかTableauのMFAのどちらかです。2つのヘルプを合わせると、Cloudへパブリッシュするフローはコマンドラインで回せない構成になります。Cloudで定期実行するならConductor一択で、Data Managementの費用も見積もりに含めることが必要です。Cloudの認証の組み方はTableau Cloudとは:Serverとの違い・SSOとBridgeの設定・Serverからの移行手順にまとめています。
Python(TSC)でフローを実行し完了まで待つコードとその前提
Data Managementがあり、前段のバッチが終わった直後にフローを起動したい場合は、REST APIのRun Flow Nowを呼びます。PythonならTableau Server Client(TSC)が使えます。2026年10月時点のPyPIの最新は0.42系で、Python 3.10以上が要件です。
# pip install tableauserverclient
import os
import tableauserverclient as TSC
auth = TSC.PersonalAccessTokenAuth(
"prep-runner", # 個人用アクセストークンの名前
os.environ["TABLEAU_PAT_SECRET"], # シークレットは環境変数で渡す
site_id="sales", # URLの /site/ の後ろ(Cloudでは必須)
)
server = TSC.Server("https://tableau.example.internal", use_server_version=True)
server.auth.sign_in(auth)
try:
flow = server.flows.get_by_id(os.environ["PREP_FLOW_ID"])
job = server.flows.refresh(flow) # Run Flow Now を呼ぶ
job = server.jobs.wait_for_job(job, timeout=3600) # 失敗・取消なら例外になる
print(flow.name, job.finish_code, job.completed_at)
finally:
server.auth.sign_out()
TSCのAPIリファレンスでは、jobs.wait_for_jobは間隔を伸ばしながらジョブの状態を問い合わせ、失敗か取り消しなら例外を出し、timeout秒を過ぎるとTimeoutErrorを出します。バッチは例外で異常終了するため、ジョブ管理ツール側で失敗を拾えます。REST APIのヘルプは、同じフローがキュー内や実行中だとRun Flow Nowが失敗しやすいとしているので、Conductorのスケジュールと二重に起動させません。
増分更新の設定と、増分が使えない出力先(Excel・S3・Databricks等)
増分更新を使用したフロー データの更新によると、2020.2.1以降のPrep Builderでは、新しい行を見分けるフィールド(取引日時や連番)を入力に設定すると、新しい行だけを処理できます。コマンドラインでは--incrementalRefresh(短い形は-inc)を付けます。
ただし、出力先がExcel、Amazon S3、CRM Analytics、Databricksのときは増分更新が使えません。CSVは「テーブルの作成」だけ、.hyperは「テーブルに追加」だけという制限もあるため、平日は増分、週末は完全更新の2本立てにすると取りこぼしが週1回で戻る運用です。
Tableau PrepとETL基盤・Alteryxの使い分け:採用する条件と見送る場面
ここまでの仕様を踏まえ、Prepを選ぶかどうかを言い切ります。判断の軸は「整形したデータを誰が読むか」と「誰が整形のルールを直すか」です。
Prepを採用する条件:Tableauで見るデータの整形をCreatorが持つ場合
次の条件がそろうなら、Prepを採用します。
- 整形したデータの読み手が、TableauのダッシュボードとDesktopだけ
- 表記ゆれの辞書や集計の単位を、業務部門のCreatorが自分で直したい
- 入力が数個のファイルや業務DBのテーブルで、Web作成の1GBや1,048,576行に収まるか、Prep Builderで処理できる
この範囲なら、SQLを書ける人を介さずにルールを変えられる分だけ運用費が下がります。Tableau以外の出力先も扱うワークフロー製品との比較はAlteryxとは?ワークフローのCLI実行とServer API連携を実装視点で解説を参照してください。
Prepを見送る場面:DBへの本番書き込みや複数システムへの配信が主目的
次のどれかに当てはまるなら、Prepは使わず、SQLとETL基盤で整形します。
- 整形結果をデータベースに書き戻し、基幹システムや別のBIも同じテーブルを読む
- Tableau Cloudに置いたフローで、RやPythonのスクリプトステップを使いたい(Cloudでは未対応)
- Cloudで定期実行したいのに、Data Managementを契約できない
- 整形の変更をコードレビューとテストを通してから本番に出す運用が、社内規程で決まっている
1つ目は、前述の「テーブルの作成」の仕様と重なると他システムの障害に直結します。スクリプトの制約はフローでの R および Python スクリプトの使用にあります。ETLの分担を整理した記事は、ETLとは?仕組み・ELTとの違い・ツール選定から導入判断まで解説です。Prepで回していた整形を、複数のシステムが読むデータ基盤へ移す段階であれば、データ分析基盤構築・MLOps構築支援で、現行フローの棚卸しから相談できます。
よくある質問
Tableau Prepの導入と運用でよく出る質問に答えます。
Tableau Prepは無料で使えますか?
Prep Builderは、Tableau DesktopとともにCreatorライセンスに含まれる製品です。ServerやCloudのWeb上でフローを作成・編集する場合もCreatorが必要で、ExplorerやViewerではフローを作れません。スケジュール実行にはさらにData Managementが要ります。Creatorの年額と人数別の総額は、Tableauの価格の記事で比べています。
Tableau Prep BuilderとTableau Desktopは何が違いますか?
Prep Builderはデータを整える道具で、Desktopはグラフとダッシュボードを作る道具です。Prep Builderで結合やピボットを済ませて抽出やデータソースを出力し、Desktopはそれにつないで可視化します。途中のデータは、ステップを右クリックして[Tableau Desktop でプレビュー]を選ぶとDesktopで確かめられますが、表示はサンプルです。
フローファイルの.tflと.tflxはどう使い分けますか?
.tflはフローの定義だけを持つファイルです。.tflxはパッケージドフローで、ローカルの入力ファイルを一緒に詰めて保存します。データベース接続のデータは含まれません。手元のExcelやCSVを入力にしたフローを他の人に渡すときは.tflxにし、データベースを入力にするフローやコマンドラインで回すフローは.tflで管理します。
Tableau Cloudに置いたフローでPythonスクリプトは使えますか?
使えません。2019.3.1以降のPrep BuilderではRserveやTabPyにつないでRとPythonのスクリプトステップを使えますが、公式ヘルプはTableau Cloudに作成またはパブリッシュしたフローではスクリプトステップに未対応としています。Tableau Serverならスクリプトステップを含むフローも扱えますが、Server側からRserveやTabPyに接続できる構成が前提です。Cloudで同じ処理が要るなら、スクリプトの処理をPrepの外の基盤で先に済ませます。
Tableau PrepのフローはAIに作らせることができますか?
2025.2以降、Tableau Agentを使って、計算の作成やデータのクリーニングと変換をフローの構築中に頼めます。Web上のPrepのヘルプによると、Tableau Cloudで使うにはTableau+の契約が必要で、Tableau Serverでは2025.3以降の対応です。AIが作った計算式も、件数の変化を確かめてから確定させます。
関連記事
- Tableau(タブロー)とは:製品の種類・データ接続・権限設計と自社開発との使い分け:Tableau製品全体の構成
- Tableau Cloudとは:Serverとの違い・SSOとBridgeの設定・Serverからの移行手順:フローを回す先のCloudの認証
- Tableau Desktopとは:Free Editionとの違い・インストール手順・データ接続の初期設定:可視化する側の準備
- データ分析基盤とは?構成要素・費用・内製と外注の判断基準をわかりやすく解説:Prepを超えた整形の置き場所
- ETLとは?仕組み・ELTとの違い・ツール選定から導入判断まで解説:ETLの枠組みでの位置づけ