
Case トランスフォームでは、分岐ロジックに基づいて、ソースから複数のターゲットにデータを分割できます。
Case トランスフォームを使用すると、異なるフィルタで複数の Query トランスフォームを設計するのではなく、Case ロジックまたは意思決定ロジックを 1 つのトランスフォームに統合することで、データフローの分岐ロジックを簡略化します。
たとえば、Case トランスフォームを使用して、さまざまな地域の売上ファクトを含むテーブルを読み込むことができます。データアクセスをより効率的にするために、地域が独自のテーブルに分類されます。

Case 変換ロジック
- データフローの分岐ロジックを簡略化します。
- 単一のトランスフォームを使用します
- 入力データ行を複数の出力データセットに分割します
- 単純なロジックまたは複雑なロジックが可能です。
- 単一列に対する単純な条件: RegionID = 1
- 単一列の複合条件: SUBSTR(RegionName, 1, 3) = 'Nor'
- 複数の列に対する単一条件または複合条件: RegionID = 1 OR SUBSTR("RegionName", 1, 3) = 'Nor'
追加機能
- どの条件も満たさないローを管理するためのデフォルトパスを提供します。
- '行は 1 つのケースに対してのみ TRUE 可能' オプションに応じて、複数の条件が満たされた場合に、行が複数のターゲットに移動することを許可します。
- 行を TRUE に設定できるのは 1 つのケースのみである場合は、式の順序を保持できます。
Case トランスフォームエディタ
Case トランスフォームエディタでは、必要な条件を作成できます。
各条件は、ラベルと式で表されます。ラベルは、対応するターゲットテーブルに条件をマッピングするために使用されます。
デフォルトの出力は CASE...ELSE (または OTHERWISE) と同様です。デフォルトの出力がない場合、どの条件も満たさないローは削除されます。
行が 1 つのケースで [can be] true である場合に、式の順序を保持を有効にして、テストの順序を制御します。そうしないと、Data Services 最適化エンジンによって決定された順序でテストが実行され、必要なビジネスルールに準拠しない可能性があります。
Case トランスフォームの要件
- 1 つのソースのみが許可されます。
- ソース構造は変更されません。
- Case トランスフォームの各出力ラベルは、少なくとも 1 回使用する必要があります。