ARRAYSLICE 函式

根據起始和結尾索引參數傳回包含部分輸入陣列的陣列。
  • 起始索引參數是必要的。0 值表示是陣列的第一個元素。
  • 結尾索引參數是非必要的。
    • 結尾索引值從 0 開始,並且不含首尾。
    • 預設值是空的,表示陣列的結尾。

基本用法

陣列常值參照範例:

derive type:single value:ARRAYSLICE(["A","B","C","D"],1,2)

輸出:產生包含陣列 (["B"]) 的輸出資料欄。

資料欄參照範例:

derive type:single value:ARRAYSLICE([myValues],2) as:mySliceOfmyValues'

輸出:產生新的 mySliceOfmyValues 資料欄,其中包含 myValues 中陣列的部分內容,從第三個值開始並延伸至陣列結尾。

語法

derive type:single value:ARRAYSLICE(array_ref,int_start_index,[int_end_index])

引數是否必要?資料類型說明
array_ref陣列或字串陣列資料欄名稱、陣列常值或函式 (此函式會傳回要套用到函式的陣列)
int_start_index整數陣列中的第一個元素的從 0 開始的索引值,包含在陣列片段中。
int_end_index整數

陣列中的最後一個元素的從 0 開始的索引 "soft" 值,包含在陣列片段中。列出的值未包含在內。

如果未提供任何值,陣列中的最後一個元素就是片段的結尾。

如要進一步瞭解語法標準,請參閱語言文件語法附註

array_ref

陣列資料欄名稱、陣列常值或會傳回您想要尋找的元素之陣列的函式。

  • 不支援多個資料欄和萬用字元。

使用須知:

是否必要?資料類型範例值
字串 (資料欄參照或函式) 或陣列常值myArray1

int_start_index

您要包含在陣列片段中的來源陣列的起始元素索引值。

  • 0 值會擷取陣列的第一個元素。
  • 如果這個值大於來源陣列中的元素總數,則會傳回空白陣列做為片段。

使用須知:

是否必要?資料類型範例值
整數4

int_end_index

您要包含在陣列片段中的來源陣列的結尾元素索引值。

  • 0 值會擷取陣列的第一個元素。
  • 用於表示此參數的值不包含在片段中。
  • 如要指定結尾索引值,這個值必須大於或等於起始索引值。
  • 如果這個值大於來源陣列中的元素總數,則片段會在陣列的最後一個元素處結尾。

使用須知:

是否必要?資料類型範例值
整數10

範例

範例 - 拼站上頒獎台的比賽

本範例包含下列函式:

  • ARRAYSLICE - 根據提供的起始和結尾索引編號傳回一個陣列,該陣列為另一個陣列的一部分。請參閱 ARRAYSLICE 函式一文。
  • ARRAYMERGEELEMENTS - 將陣列的元素合併為一個字串。請參閱 ARRAYMERGEELEMENTS 函式一文。

來源:

以下的陣列包含一系列按順序排列的比賽成績。目標是從這個清單中擷取在各場比賽站上頒獎台的參賽者名單做為一個字串。

RaceIdRaceResults
1["racer3","racer5","racer2","racer1","racer6"]
2["racer6","racer4","racer2","racer1","racer3","racer5"]
3["racer4","racer3","racer5","racer2","racer6","racer1"]
4["racer1","racer2","racer3","racer5"]
5["racer5","racer2","racer4","racer6","racer3"]


轉換:

第一步是從陣列清單中收集每場比賽的前三名完賽者:

derive type: single value: ARRAYSLICE(RaceResults, 0, 3) as: 'arrPodium'

以上陳述式將 RaceResults 陣列的前三個值擷取到一組新的陣列中。

下一步是將這組新陣列合併為一個字串:

derive type: single value: ARRAYMERGEELEMENTS(arrPodium, ',') as: 'strPodium'

結果:

RaceIdRaceResultsarrPodiumstrPodium
1["racer3","racer5","racer2","racer1","racer6"]["racer3","racer5","racer2"]racer3,racer5,racer2
2["racer6","racer4","racer2","racer1","racer3","racer5"]["racer6","racer4","racer2"]racer6,racer4,racer2
3["racer4","racer3","racer5","racer2","racer6","racer1"]["racer4","racer3","racer5"]racer4,racer3,racer5
4["racer1","racer2","racer3","racer5"]["racer1","racer2","racer3"]racer1,racer2,racer3
5["racer5","racer2","racer4","racer6","racer3"]["racer5","racer2","racer4"]racer5,racer2,racer4


本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁