對應資料流中的條件式分割轉換
適用於:Azure Data Factory Azure Synapse Analytics
提示
試用 Microsoft Fabric 中的 Data Factory,這是適用於企業的全方位分析解決方案。 Microsoft Fabric 涵蓋從資料移動到資料科學、即時分析、商業智慧和報告的所有項目。 了解如何免費開始新的試用!
Azure Data Factory 和 Azure Synapse Pipelines 中均可使用資料流。 本文適用於對應資料流。 如果您不熟悉轉換作業,請參閱簡介文章使用對應資料流轉換資料。
條件式分割轉換會根據比對條件,將資料列路由至不同的資料流。 條件式分割轉換類似於程式設計語言中的 CASE 決策結構。 轉換會評估運算式,並根據結果將資料列導向特定資料流。
組態
分割設定會決定資料列是否流向第一個相符的資料流,還是要流向其符合的每個資料流。
可使用資料流運算式建立器來輸入分割條件的運算式。 若要加入新的條件,請按一下現有資料列的加號圖示。 您也可以針對不符合任何條件的資料列新增預設資料流。
資料流程指令碼
語法
<incomingStream>
split(
<conditionalExpression1>
<conditionalExpression2>
...
disjoint: {true | false}
) ~> <splitTx>@(stream1, stream2, ..., <defaultStream>)
範例
下列範例是一個名為 SplitByYear
的條件式分割轉換,會接受傳入的資料流 CleanData
。 這項轉換有兩個分割條件:year < 1960
和 year > 1980
。 disjoint
為 false,因為資料會移至第一項相符條件,而非所有相符條件。 每個符合第一個條件的資料列都會流向輸出資料流 moviesBefore1960
。 所有符合第二個條件的剩餘資料列都會流向輸出資料流 moviesAFter1980
。 所有其他資料列會流經預設資料流 AllOtherMovies
。
在服務 UI 中,這項轉換看起來如下圖所示:
此轉換的資料流指令碼位於下列程式碼片段中:
CleanData
split(
year < 1960,
year > 1980,
disjoint: false
) ~> SplitByYear@(moviesBefore1960, moviesAfter1980, AllOtherMovies)