マッピング データ フローの条件分割変換

適用対象: Azure Data Factory Azure Synapse Analytics

データ フローは、Azure Data Factory および Azure Synapse Pipelines の両方で使用できます。 この記事は、マッピング データ フローに適用されます。 変換を初めて使用する場合は、概要の記事「マッピング データ フローを使用してデータを変換する」を参照してください。

条件分割変換では、データ行を、一致条件に応じて異なるストリームにルーティングします。 条件分割変換は、プログラミング言語の CASE 決定構造と似ています。 この変換では式を評価し、その結果に基づいて、データ行を指定されたストリームに送ります。

構成

[分割] 設定により、データの行の送り先が、最初に一致したストリームと、一致した全ストリームのどちらになるかが決まります。

データ フローの式ビルダーを使用して、分割条件の式を入力します。 新しい条件を追加する場合は、既存の行にあるプラス記号アイコンをクリックします。 いずれの条件にも一致しない行用に、既定のストリームを追加することもできます。

条件分割

データ フローのスクリプト

構文

<incomingStream>
    split(
        <conditionalExpression1>
        <conditionalExpression2>
        ...
        disjoint: {true | false}
    ) ~> <splitTx>@(stream1, stream2, ..., <defaultStream>)

以下の例は、受信ストリーム CleanData を受け取る SplitByYear という名前の条件分割変換です。 この変換では、year < 1960year > 1980 という 2 つの分割条件が設定されています。 最初に一致した条件にデータを送るので、disjoint は false に設定しています。 最初の条件に一致した行はすべて、出力ストリーム moviesBefore1960 に送られます。 残りの行のうち 2 番目の条件に一致したものはすべて、出力ストリーム moviesAFter1980 に送られます。 その他のすべての行は、既定のストリーム AllOtherMovies に送られます。

サービスの UI では、この変換は下の画像のように表示されます。

条件分割

この変換のデータ フロー スクリプトは、次のスニペットに含まれています。

CleanData
    split(
        year < 1960,
        year > 1980,
        disjoint: false
    ) ~> SplitByYear@(moviesBefore1960, moviesAfter1980, AllOtherMovies)

次のステップ

条件分割と合わせて使用する一般的なデータ フロー変換には、結合変換参照変換選択変換があります