データベース

Tableau Prepとは:Prep Builderの使い方・フロー作成とConductor・コマンドラインでの定期実行【2026年10月】

Tableau Prepとは:Prep Builderの使い方・フロー作成とConductor・コマンドラインでの定期実行【2026年10月】

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つ書かれています。

  1. Prep Builderは64ビット版だけ。32ビットのデータベースドライバーしか入っていないPCでは、64ビット版のドライバーを入れ直す
  2. Tableau Desktopと同じPCに入れるのが推奨。Prep BuilderはDesktopと連携して動くように作られている
  3. 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が作った計算式も、件数の変化を確かめてから確定させます。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.23 テックブログ Renta!不正アクセスでサービス停止:再開未定の現状と運営側の停止判断・証拠保全・段階的再開
  2. 2026.10.21 テックブログ ふるさとチョイス不正アクセスで445万件流出:対象確認・パスワード変更と再開時期
  3. 2026.10.24 テックブログ カプコン不正アクセス:CAPCOM ID 1,177万件漏えいと196件の乗っ取りへの対処
  4. 2026.10.24 テックブログ ブラストメール不正アクセス:配信先288件の漏えいと利用企業の報告・通知の手順
  5. 2026.10.14 テックブログ ローソンID不正アクセス:215万件漏えいの対象確認と本物メールの見分け方

RELATED POSTS 関連記事

目次