對應資料流中的條件式分割轉換

適用於:Azure Data Factory Azure Synapse Analytics

提示

試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用

Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 如果您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料

條件式分割轉換會根據比對條件,將資料列路由至不同的資料流。 條件式分割轉換類似於程式設計語言中的 CASE 決策結構。 轉換會評估運算式,並根據結果將資料列導向特定資料流。

組態

分割設定會決定資料列是否流向第一個相符的資料流,還是要流向其符合的每個資料流。

可使用資料流運算式建立器來輸入分割條件的運算式。 若要加入新的條件,請按一下現有資料列的加號圖示。 您也可以針對不符合任何條件的資料列新增預設資料流。

Shows the Conditional Split UI with selections as described above.

資料流程指令碼

語法

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

範例

下列範例是一個名為 SplitByYear 的條件式分割轉換,會接受傳入的資料流 CleanData。 這項轉換有兩個分割條件:year < 1960year > 1980disjoint 為 false,因為資料會移至第一項相符條件,而非所有相符條件。 每個符合第一個條件的資料列都會流向輸出資料流 moviesBefore1960。 所有符合第二個條件的剩餘資料列都會流向輸出資料流 moviesAFter1980。 所有其他資料列會流經預設資料流 AllOtherMovies

在服務 UI 中,這項轉換看起來如下圖所示:

Shows the Conditional Split UI with selections as described above.

此轉換的資料流指令碼位於下列程式碼片段中:

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

經常搭配條件式分割使用的資料流轉換包括聯結轉換查閱轉換選取轉換