映射資料流中的條件分割轉換

適用於: Azure Data Factory Azure Synapse Analytics

提示

Data Factory in Microsoft Fabric 是下一代的 Azure Data Factory,擁有更簡單的架構、內建 AI 及新功能。 如果你是資料整合新手,建議先從 Fabric Data Factory 開始。 現有的 ADF 工作負載可升級至 Fabric,以存取資料科學、即時分析與報告等新能力。

資料流可同時在 Azure Data Factory 資料管線和 Azure Synapse Analytics 資料管線中使用。 本文適用於映射資料流。 如果您不熟悉資料轉換,請參閱入門文章使用對應資料流程轉換資料

提示

關於 Dataflow Gen2 中的等效轉換(參考),請參閱《Dataflow Gen2 對映資料流使用者指南》。

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

組態

分割依據設定會決定資料列流向第一個符合的資料流,或流向所有符合的資料流。

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

顯示具有選取範圍的條件式分割UI,如上所述。

資料流程指令碼

語法

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

範例

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

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

顯示具有選取範圍的條件式分割UI,如上所述。

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

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

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