---
title: "条件分岐タスク | TROCCO Docs"
slug: "conditional-branch-task"
updated: 2025-11-10T10:13:36Z
published: 2025-11-10T10:13:36Z
canonical: "documents.trocco.io/conditional-branch-task"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://documents.trocco.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 条件分岐タスク

## 概要

条件分岐タスクとは、ワークフローの前段タスクの結果や条件に応じて、実行するタスクを分岐できる機能です。 条件分岐タスクを活用することで、以下のメリットがあります。

### 柔軟なワークフロー構築

データの状態や処理結果に基づく柔軟なワークフローの構築ができます。 例えば、以下のようなワークフローを構築できます。

- 転送件数を通じてデータマート更新の必要性をチェックし、必要であれば更新するワークフロー
- 転送件数が普段よりも著しく多い場合はSlackにアラート通知をするワークフロー

### ジョブ実行の最適化

条件に応じて実行するタスクを分岐できるため、ジョブ実行時間の効率化が可能です。

## 設定方法

1. 条件分岐のタスクを追加し、名前を設定します。 ![](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/conditional-branch-task-2025-08-12-18-41-31.png)
2. 分岐の条件として利用したいタスクを、条件分岐タスクの前段のタスクとしてフローを編集します。 ![](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/conditional-branch-task-2025-08-12-18-56-53.png)

              条件分岐タスクを利用する場合のエラーハンドリング

              

タスクの実行結果エラーを条件に指定して後続のタスクに分岐させるには、ワークフロー全体設定で「タスクのエラーハンドリング」をONにする必要があります。 詳しくは[タスクのエラーハンドリング](/docs/about-workflow#%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AA%E3%83%B3%E3%82%B0)を参照ください。

1. 条件分岐タスクの三点リーダーからタスク編集画面を開き、条件式を設定します。  

![](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/conditional-branch-task-2025-08-12-18-44-03.png)

条件式では、以下の項目を対象として利用できます。

- 現在日時
  - 条件分岐タスクの実行が開始された日時です
  - タイムゾーンまで指定する必要があります。日本時間を指定する場合は末尾に`+09:00`を指定してください
- 環境
  - ワークフローが実行される環境を条件に設定できます
- 前段のタスクに応じた項目

前段のタスクに応じた項目は、以下のとおりです。

| プロパティ | 値 | 説明 |
| --- | --- | --- |
| ジョブ実行結果 | `&#x6210;&#x529F;`または`&#x30A8;&#x30E9;&#x30FC;` | 前段のタスクのジョブ実行結果に応じて条件を分岐します。 どのタスクが前段でも利用できます。 |
| 転送件数 | 数値 | 前段のタスクで転送されたデータの件数に応じて条件を分岐します。 以下のタスクが前段タスクの際に利用できます。 - TROCCO転送ジョブ - TROCCOデータマートシンク |
| チェック結果 | `&#x30C1;&#x30A7;&#x30C3;&#x30AF;&#x6210;&#x529F;`または`&#x30C1;&#x30A7;&#x30C3;&#x30AF;&#x5931;&#x6557;` | データチェックタスクのチェック結果に応じて条件を分岐します。 以下のタスクが前段タスクの際に利用できます。 - Google BigQueryデータチェック - Snowflakeデータチェック - Amazon Redshiftデータチェック - Databricksデータチェック |
| HTTPステータスコード | 数値 | HTTPリクエストタスクを実行した際のレスポンスのステータスコードに応じて条件を分岐します。 前段のタスクがHTTPリクエストの際に利用できます。 |

              条件分岐タスクの前段でデータチェックタスクを実行する場合

              

データチェックタスクのチェック結果で分岐する場合は、データチェックタスクのエラー条件にて「クエリ結果を条件分岐に利用する」をオンにする必要があります。 設定がオフの場合は、データチェックのエラー条件に合致した時点でワークフローが終了し、条件分岐タスクが実行されません。

              カスタム変数ループ実行時の転送件数

              

前段のタスクがカスタム変数ループ実行の場合は、全ループの合計転送件数が転送件数となります。

また、条件式は複数の対象を組み合わせることも可能です。組み合わせ方法は以下のとおりです。

- AND：すべての条件を満たす
- OR：いずれかの条件を満たす

              AND条件とOR条件の組み合わせ

              

AND条件とOR条件を組み合わせた条件式は設定できません。

1. 条件分岐タスクのTrue側に条件に合致した場合に実行したいタスクを、False側に合致しない場合に実行したいタスクを繋げ、フローを編集します。  

![](https://cdn.document360.io/3a3bae1e-f157-487f-8798-01e9d820e760/Images/Documentation/conditional-branch-task-2025-08-12-18-58-16.png)

## ユースケース

条件分岐タスクの代表的なユースケースについてご紹介します。

### S3のオブジェクトファイルが更新されていた場合に、データマートタスクを実行する

S3上のオブジェクトファイルが更新されている場合にデータ転送を行い、あわせてデータマートタスクを実行してデータマートも更新するワークフローを構築します。 必要なときだけデータマートを更新するジョブを実行できるため、ジョブ実行時間の効率化が可能となります。

#### 設定例

- 転送設定
  - 転送元Amazon S3で、転送方法に「差分転送 (最終更新時間)」を指定します。
  - 転送先はデータマートに対応したDWHを指定します。
- データマート定義
  - 転送先に指定したDWHのデータマート定義を作成しておきます。
- ワークフロー定義
  - TROCCO転送ジョブ → 条件分岐 となるようフローを編集します。
  - 条件分岐タスクの条件式を以下のように設定します。
    - プロパティ：`&#x8EE2;&#x9001;&#x4EF6;&#x6570;`
    - 演算子：`&#x3088;&#x308A;&#x5927;&#x304D;&#x3044; (&gt;)`
    - 値：`0`
  - `True`側にTROCCOデータマートシンクのタスクを、`False`側は後続タスクを配置せず、対象ファイルなしとしてワークフロー実行が終了されるようフローを編集します。
  - スケジュールを設定し、定期的にワークフローを実行します。

### BigQueryのデータをチェックし、データの正誤によって処理を変える

Google BigQueryデータチェックを利用して転送したデータをチェックし、意図しないデータが入った場合はSlack通知をするワークフローを構築します。

#### 設定例

- ワークフロー定義
  - Google BigQueryデータチェック → 条件分岐 となるようフローを編集します。
- データチェックタスクに、エラーを検知するSQLやエラー条件を設定しておきます。
  - 例：特定カラムにNULLを含むデータがないかチェックしたい場合
    - SQL

```
SELECT
  count(id)
FROM
  dataset_name.table_name
WHERE
  subject IS NULL
```
    - エラー条件
      - クエリ結果：`1`
      - 条件：`&#x4EE5;&#x4E0A;`
      - 「クエリ結果を条件分岐に利用する」をオン
  - 条件分岐タスクの条件式を以下のように設定します。
    - プロパティ：`&#x30C1;&#x30A7;&#x30C3;&#x30AF;&#x7D50;&#x679C;`
    - 演算子：`&#x7B49;&#x3057;&#x3044; (=)`
    - 値：`&#x30C1;&#x30A7;&#x30C3;&#x30AF;&#x6210;&#x529F;`
  - `True`側にはそのまま後続タスクを、`False`側はSlack通知を後続タスクとしてフローを編集します。
  - 必要に応じてスケジュールなどを設定します。
