[英]Azure Data Factory Data Flow: how to filter input column with multiple values
我想做的基本上是在數據流中模擬 SQL WHERE IN CLAUSE 的東西。 我想將逗號分隔的字符串值傳遞到我的數據流中,即 ptf_proc_link_id = "A, B, C"。
在數據流內部,我想使用這些值來過濾我的輸入列之一:
這等同於在 SQL 中編寫 SELECT * FROM my_delta_table where ptf_proc_link_id in (A, B, C)。
然而,數據流文檔只提示我可以過濾單個值,即 ptf_proc_link_id = A。我嘗試使用相交,但兩個參數都需要是數組,在我的例子中,其中一個是一列。 我可以做類似 ptf_proc_link_id = A OR ptf_proc_link_id = B OR ptf_proc_link_id = C 的事情,但我不知道我會有多少輸入值,所以我不能硬編碼。
這似乎是一個非常簡單的數據流用例,所以如果有人能向我解釋正確的方法是什么,我將非常感激。
謝謝!
您可以在 ADF 數據流中使用in()
函數來過濾多個值。
語法: in(array of items,item to find)
鑰匙 | 班級 | 姓名 | 標記 | 出生日期 |
---|---|---|---|---|
1個 | 1個 | 阿周那 | 50 | 2015 年 1 月 2 日 |
2個 | 1個 | 巴桑塔 | 47 | 5/1/2015 |
3個 | 1個 | 蘇巴拉 | 54 | 5/6/2015 |
4個 | 2個 | 干闥婆 | 60 | 2014 年 1 月 2 日 |
5個 | 2個 | 烏伊瓦拉 | 55 | 9/2/2014 |
6個 | 2個 | 薩那達那 | 64 | 2014 年 1 月 12 日 |
7 | 3個 | 斯里達瑪 | 75 | 2013 年 1 月 2 日 |
8個 | 3個 | 須玉 | 80 | 13/12/2013 |
9 | 3個 | 瓦蘇 | 81 | 2013 年 1 月 12 日 |
img:1 源數據預覽。
我嘗試使用 key=2,4,6 過濾記錄
過濾條件可以指定為in(['2','4','6'], key)
或in(array('2','4','6'), key)
img:2 過濾條件設置
過濾器轉換的輸出數據:
img:3 Filter Transformation數據預覽
您也可以創建一個數組類型的數據流參數,並在過濾轉換的過濾條件中賦予該參數。 img:4個數據流參數
使用參數時的過濾條件為in($parameter1,key)
參考資料:關於data flow expression - in
Microsoft 文檔- 在
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.