共用方式為


陣列函式在資料流映射中的應用

適用於:Azure Data Factory Azure Synapse Analytics

提示

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

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

本文詳細說明 Azure Data Factory 與 Azure Synapse Analytics 在繪製資料流中所支援的陣列函數。

陣列函式清單

陣列函式會對陣列的資料結構執行轉換。 特殊關鍵字用於識別陣列的元素和索引:

  • #acc 代表你想在縮減陣列時包含在單一輸出中的一個值。
  • #index 代表目前的陣列索引,以及陣列索引編號 #index2, #index3 ...
  • #item 代表陣列中目前元素的值。
陣列函式 Task
array 建立項目陣列。 所有項目都應該是相同的類型。 如果未指定任何項目,則預設值為空字串陣列。 相當於 [] 建立運算子。
at 尋找陣列索引的元素。 該指數以1為基礎。 界外索引則為空值。 當給定鍵時,會在映射中尋找一個值。 如果找不到金鑰,則會回傳 null。
contains 如果所提供陣列中的任何元素在所提供的述詞中評估為 true,則傳回 true。 函數 contains 期望在謂詞函數中引用一個元素作為 #item
distinct 傳回與陣列不同的項目集合。
except 傳回與另一個卸除的重複項不同的一組陣列集合。
filter 過濾出陣列中不符合條件的元素。 函 filter 數期望將參考謂詞函數中的一個元素為 #item
find 從陣列中尋找符合條件的第一個項目。 它採用 filter 一個函數,你可以將陣列中的項目位址為 #item。 對於深度巢狀映射,你可以使用符號 #item_n(#item_1, #item_2...) 來參考父映射。
flatten 將一個或多個陣列扁平化成單一陣列。 會原封不動傳回不可部分完成項目的陣列。 最後一個是選用引數,預設值為 false,會以遞迴方式壓平合併超過一層深度。
檢查陣列中是否有某個項目。
intersect 回傳兩個陣列中不同項目的交集集合。
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 回傳兩個陣列中不同項目的聯集集合。

其他可用功能