分享方式:


對應資料流中的陣列函式

適用於:Azure Data Factory Azure Synapse Analytics

提示

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

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

下列文章提供對應資料流中 Azure Data Factory 和 Azure Synapse Analytics 所支援陣列函式的詳細資料。

陣列函式清單

陣列函式會對陣列的資料結構執行轉換。 其中包括用來定址陣列元素和索引的特殊關鍵字:

  • #acc 代表縮減陣列時您想包含在單一輸出中的值
  • #index 代表目前的陣列索引,以及陣列索引編號 #index2, #index3 ...
  • #item 代表陣列中的目前元素值
陣列函式 Task
array 建立項目陣列。 所有項目都應該是相同的類型。 如果未指定任何項目,則預設值為空字串陣列。 相當於 [] 建立運算子。
at 尋找陣列索引的元素。 以 1 起始的索引。 超出索引範圍會產生 Null 值。 在對應指定的索引鍵中尋找值。 如果找不到索引鍵,便會傳回 Null。
contains 如果所提供陣列中的任何元素在所提供的述詞中評估為 true,則傳回 true。 contains 預期述詞函式中某個元素的參考為 #item。
distinct 傳回與陣列不同的項目集合。
except 傳回與另一個卸除的重複項不同的一組陣列集合。
filter 從陣列中篩選出不符合所提供述詞的元素。 filter 預期述詞函式中某個元素的參考為 #item。
find 從符合條件的陣列中尋找第一個項目。 它會採用篩選函式,您可以在其中以 #item 稱呼陣列裡的項目。 如需深度巢狀對應,可以使用 #item_n(#item_1, #item_2...) 標記法來參考上層對應。
flatten 將一或多個陣列壓平合併成單一陣列。 會原封不動傳回不可部分完成項目的陣列。 最後一個是選用引數,預設值為 false,會以遞迴方式壓平合併超過一層深度。
檢查陣列中是否有某個項目。
intersect 傳回 2 個陣列中不同項目的交集集合。
map 使用所提供的運算式,將陣列的每個元素對應至新的元素。 map 預期運算式函式中某個元素的參考為 #item。
mapIf 有條件地將陣列對應至長度相同或較短的另一個陣列。 這些值可以是任何資料類型,包括 structTypes 在內。 它會採用對應函式,您可以在其中以 #item 處理陣列中的項目,並以 #index 處理目前索引。 如需深度巢狀對應,可以使用 #item_[n](#item_1, #index_1...) 標記法來參考上層對應。
mapIndex 使用所提供的運算式,將陣列的每個元素對應至新的元素。 map 預期運算式函式中某個元素的參考為 #item,而元素索引的參考為 #index。
mapLoop 從 1 重複到整個長度,建立該長度的陣列。 它會採用對應函式,您可以在其中以 #index 稱呼陣列中的索引。 如需深度巢狀對應,可以使用 #index_n(#index_1, #index_2...) 標記法來參考上層對應。
reduce 累加陣列中的元素。 reduce 預期第一個運算式函式中的累加器和一個元素的參考為 #acc 和 #item,而且預期產生的值為要在第二個運算式函式中使用的 #result。
size 尋找陣列或對應類型的大小
slice 從某個位置擷取陣列的子集。 位置從 1 開始。 如果省略長度,則預設為字串的結尾處。
sort 使用所提供的述詞函式來排序陣列。 sort 需要運算式函式中兩個連續元素的參考為 #item1 和 #item2。
unfold 將陣列展開成一組資料列,並重複每個資料列中其餘資料行的值。
union 傳回 2 個陣列中不同項目的集合聯集。