Home

    データ・計測 

最終更新日: 2025年10月14日

TROCCO #03|ワークフロー定義設定・カスタム変数を使ったループ処理の方法

プロフィール画像

エンジニアチーム

    #データ・計測

ツイート シェア
プロフィール画像

エンジニアチーム

    #データ・計測

ツイート シェア

この記事を読んでる方へ

▼データマーケティングの教科書 上

初心者の方から、より詳しくなりたいという方へ。
本書ではデータマーケティングの基礎から学び、データを通じて顧客の行動や感情を理解し、 より確かな意思決定を目指します。

みなさん、こんにちは!

前回の記事では、TROCCOを使ったデータマート転送設定手順とSQL活用の事例をご紹介しました。

TROCCO #02|データマート定義の設定方法とSQL活用例

今回はその次のステップとして、TROCCOの「ワークフロー定義」を取り上げます!

この機能を活用することで、複数のジョブをまとめて制御したり、依存関係に応じて自動的に実行させたりできます。
「処理の順序管理が煩雑」「ジョブを個別に実行するのが手間」といった日常的な悩みも、ワークフローを導入することで大幅に改善できるはずです。

設定の基本的な流れから、カスタム変数を用いたループ実行まで、実務で役立つ形で丁寧に解説します。

効率的で安定したデータ運用を実現するための実践的な一歩として、ぜひ参考にしてください!

TROCCO(トロッコ)とは?主要機能・特徴・料金・類似サービスとの違いを解説

TROCCO #01|初心者でもできる!データ転送手順と設定ポイントを解説!

ワークフロー定義とは

「ワークフロー定義」とは、複数のジョブをどの順番で、どの条件のもとに実行するかをあらかじめ設計し、ルールとして登録することを指します。

TROCCOにおけるワークフロー定義では、まず対象となるデータ転送設定やデータマート設定を登録し、その実行順序や依存関係を決めます。

さらに、特定のジョブが成功した場合のみ次の処理を動かすといった条件分岐や、複数のジョブを並列で実行するといった制御も可能です。

ワークフロー全体にはスケジュールを設定でき、例えば「毎日9時に開始」や「1時間ごとに実行」といった形で自動化することができます。

ワークフローに定義できるタスク

  • TROCCO転送ジョブ
  • TROCCOマネージド転送設定
  • TROCCOデータマートシンク
  • TROCCOワークフロー
  • TROCCO dbtジョブ
  • Google BigQueryデータチェック
  • Snowflakeデータチェック
  • Amazon Redshiftデータチェック
  • HTTPリクエスト
  • Slack通知
  • Tableauデータ抽出
  • 条件分岐

ワークフロー定義 新規作成手順

事前準備

例として、TROCCOでデータマートを活用し、BigQuery上の古いデータを1か月分削除したあと、Google広告の最新データをデータ転送でBigQueryに取り込み、さらに処理完了後にSlackで通知を受け取る一連の自動化フローを設定するケースを考えます。

データ転送やデータマート定義、BigQueryのテーブル、Slackとの連携については、あらかじめ準備を済ませておきましょう。

今回使用するデータマート定義では、自由記述モードを選択し、Google 広告データが格納されている BigQuery テーブルから 1 ヶ月分の対象データを削除する処理を用意します。

続いて、1 ヶ月分の Google 広告データを取得し、BigQuery テーブルへ転送するデータマート転送を作成します。

これらのタスクを順序通りに実行できるようなワークフローを作成の手順を説明します。

このように先に対象期間のデータを削除し、その範囲だけ再出力するワークフローを作成することで、部分更新型のバッチ処理が可能になります。

なお、データ転送やデータマート定義の詳細については、こちらの記事をご確認ください。

TROCCO #01|初心者でもできる!データ転送手順と設定ポイントを解説!

TROCCO #02|データマート定義の設定方法とSQL活用例

概要設定

【ワークフロー】作成するワークフロー定義の名前を入力します

例:Google Adsデータ更新

ジョブ実行設定

【タスク同時実行上限数】ワークフロー内で同時に実行できるタスクの最大数を決める設定です。

最大で10個まで設定でき、上限を増やすと並列で処理できるタスクが増えるため、ワークフロー全体の実行時間を短縮できます。
例えば、5つのジョブを並列に定義して上限を3にすると、最初の3つが同時に実行され、残りは順番に実行されます。

順序依存のあるタスクは並列で実行すると正しい順番で処理されない可能性があるため注意が必要です。

💡ループで並列実行させたい場合は、転送設定内で「並列実行を許可」を有効にしておく必要があります。これを設定していないと、ワークフローで並列化してもシリアル実行になります。
データ転送のSTEP2「データプレビュー・詳細設定」からジョブ起動設定を行うことができます。


【タイムアウト設定】ジョブの実行時間に上限を設けるかどうかを決める設定です。

無効にした場合は、ワークフローが完了するまでジョブは実行され続けます。有効にした場合は、設定時間を過ぎるとジョブがキャンセルされ、停止位置から再実行するかワークフロージョブを中断できます

なお、転送元などワークフロー定義以外で設定されたタイムアウトがある場合は、そちらが優先されます。この機能は、後続のBIツールなどで指定の時間までに処理を終える必要がある場合など、時間制限に応じて強制停止したいときに利用できます。

またアカウント管理以上の権限を持つユーザーは、アカウント設定でタイムアウトの設定を行うことができます。

TROCCO 画面右上のメールアドレスをクリックし、「タイムアウト設定」を選択すると、転送ジョブの実行時間制限を指定できます。

なお、アカウント設定と転送設定の両方にタイムアウトが有効な場合は、より短い時間が優先して適用されるため注意しましょう。


【リトライ回数】ワークフローが失敗した際に、自動で再実行(リトライ)する回数と次回リトライまでの間隔を設定できます。

ただし、回数を0に設定した場合、全タスクが成功した場合、またはキャンセルが発生した場合には、自動リトライは行われません。

また、リトライ回数とリトライ間隔の積は60分を超えないように設定する必要があります。


【ジョブの重複実行】同じジョブを並行して複数回実行できるかどうかを制御する設定です。

スキップする」を選択した場合、前のジョブが実行中に次のジョブが開始されようとしても、新しい実行はスキップされます。そのため、処理が長引いた場合でも転送先でのデータ重複を防ぐことができます。

許可する」を選択した場合は、前のジョブがまだ実行中であっても新しいジョブが並行して実行されます。データの重複などのリスクはありますが、スケジュール通りにジョブを走らせることができ、リアルタイム性を確保できます。


【タスクのエラーハンドリング】前のタスクが失敗した時、以降のタスクを実行するかを選択します。

OFF」を選択した場合、いずれかのタスクが失敗すると後続のタスクは実行されず、ワークフロー全体が停止します。ワークフロー内でタスク間に依存関係がある場合は、意図しない更新を防ぐために「OFF」を選択することが推奨されます。

一方、「ON」を選択した場合は、いずれかのタスクが失敗しても後続のタスクが実行されます。タスク間に依存関係がない構成であれば「ON」としても問題ありません。

共有設定

【ラベル】設定を分類・整理するために使用されます。

「プロジェクトA」「本番」「検証」などのラベルを付与することで、一覧からの絞り込み検索が容易になり、運用効率や可視性の向上につながります。

ワークフローを保存した後は、画面右側の 概要設定 から各種編集が可能です。新規作成時に設定した タイムアウトリトライ回数 のほか、運用上の分類に利用する ラベル もここから変更できます。


【スケジュール設定】転送ジョブの自動実行スケジュールを設定できます。

例えば「毎週日曜日9時に自動でジョブを実行する」ということが可能になります。


【通知設定】ジョブ終了時やジョブ失敗時、実行経過条件、レコード数条件に応じて通知を設定できます。

通知はSlackやEmailで受け取ることが可能です。通知先は、新しく作成するか、既存の通知先から選択してください。

ワークフロー定義 フロー編集

TROCCO のワークフロー編集画面では、転送ジョブやデータマートシンクを配置し、全体の処理フローを設計できます。

フロー図上で複数のタスクを範囲選択すると、一度にまとめて接続し、実行順序を効率的に設定することが可能です。

タスク追加

転送ジョブデータマートシンクなど、あらかじめ作成してあるジョブを「タスク」として追加できます。

画面左側の一覧から対象タスクを選択し、「追加」をクリックします。

追加したタスクは自由に位置を調整でき、他のタスクと矢印で接続することで実行順序を定義します。

今回は、削除設定のデータマートを実行完了した後に、Google 広告データの転送ジョブを実行したいので、ワークフロー上にタスクをそれぞれ追加し、削除処理から転送処理へ矢印で順に接続します。

複数媒体の広告データ取得など、処理の依存関係がない場合には、並行して実行することも可能で、全体の処理時間を短縮できます。

全ての配置が完了したら右上から「保存」を押します。

カスタム変数でループ実行

カスタム変数ループ実行とは、カスタム変数を埋め込んだ転送設定やデータマート定義をワークフロー上に組み込むことで設定できる機能です。

カスタム変数とは、ワークフロー実行時にジョブへ渡す任意のパラメータで、リスト形式で設定すると、同じジョブを異なる値ごとに繰り返し実行できます

例えば、広告データの取得では、アカウントIDごとにループさせて複数アカウントのデータを順番に取得したり、日付を変えて過去数日のデータをまとめて処理したりすることが可能です。

タスク編集

タスク編集画面で「カスタム変数でループ実行」にチェックを入れます。

ループの種類は「文字列展開でループ」、「期間(相対指定)でループ」、「Google BigQueryのクエリ結果でループ」、「Amazon Redshiftのクエリ結果でループ」、「Snowflakeのクエリ結果でループ」から選択できます。

文字列展開でループの場合

「対象カスタム変数」にデータ転送側で指定した変数(${変数名}$)を指定し、カスタム変数をリスト形式で指定します。

上記の設定の場合、$account$が実行時に「123」、「456」、「789」に置き換わり、同じジョブが3回ループ実行されます。

同じ処理を複数パターンで繰り返す必要がある場合によく使われます。

期間(相対指定)でループの場合

過去数日や特定期間のレポートをまとめて取得したいときは、$date$などの日付を変数にして設定すると、指定期間分順番に処理することができます。

カスタム変数出力イメージで展開される日付を確認することができます。

Google BigQueryのクエリ結果でループの場合

クエリを実行して取得した複数行・複数値の結果を変数として扱うことで、その値ごとに同じジョブやデータマート処理を順番に実行できます。

例えば、BigQuery で広告アカウントIDを管理しているテーブルがある場合、結果を $account$ 変数としてワークフローに渡すことで、各アカウントごとの処理を自動でループ実行できます。

アカウント数が多い場合でも手動でリストを作る必要がなく、最新データをもとに自動的にループさせられる点が大きな利点です。

ループを追加

右下の「ループを追加」から、複数のカスタム変数を同時にループさせることが可能です。

複数の変数の組み合わせごとに自動でジョブが繰り返されるため、ジョブを複製する必要がなく、広告データのアカウント×日付のようなパターン処理に非常に便利です。

まとめ

この記事では、TROCCOのワークフロー設定とループ設定について解説しました!

ワークフロー編集画面では、転送ジョブやデータマートを配置し、さらにカスタム変数や文字列展開を活用したループ設定により、柔軟なフロー設計が可能です。

ぜひ、これらの機能を活用して、効率的なデータ処理を実現しましょう。

実際の業務においても、TROCCOを活用したデータの自動集約・加工と組み合わせることで、より効率的で再現性の高いダッシュボード構築が可能になります。他にもTROCCOについては、TROCCO(トロッコ)とは?主要機能・特徴・料金・類似サービスとの違いを解説で、主要機能や導入支援についてご紹介していますので、あわせてご覧ください。

またD2C RではTROCCOによるデータ処理基盤の整備から、Looker Studioを用いた可視化・レポーティングの設計・構築まで一貫した支援を行っています。

詳しくはこちらよりお気軽にお問い合わせください。

この記事を読んでる方へ

▼データマーケティングの教科書 上

初心者の方から、より詳しくなりたいという方へ。
本書ではデータマーケティングの基礎から学び、データを通じて顧客の行動や感情を理解し、 より確かな意思決定を目指します。

プロフィール画像

編集者
エンジニアチーム

編集者
エンジニアチーム

GASやLooker Studio、TROCCOなどのツールを活用した、業務効率化やデータ活用のノウハウをわかりやすく発信しています!

おすすめ記事