ROLLINGLIST 函式

在指定資料欄中,計算現行資料列前後值的累計清單,並傳回這些值的陣列。
  • 如果輸入值為遺漏值或空值,則不會列入計算。舉例來說,如為資料集中的第一個資料列,前一值的相異值累計計數則為未定義。
  • 擷取值的來源資料列是由 order 參數指定的資料列排序決定。

    如果您正在處理隨機產生的資料集樣本,則您在這項函式中看到的值未必會對應到工作執行期間在完整資料集上產生的值。

  • 此函式會使用一個資料欄名稱和三個選用的整數參數,以決定現行列往後及往前範圍的值數量上限。
    • 根據預設,清單中值的數量上限為 1000。如要變更值的數量上限,請指定 limit 參數的值。
    • 範圍參數的預設值為 -10,會計算現行列往後到資料集第一列的累計函式。
  • 這項函式可搭配下列轉換使用:

如要進一步瞭解此函式的非累計版本,請參閱 LIST 函式

基本用法

資料欄範例:

derive type:single value:ROLLINGLIST(myCol)

輸出:產生新的資料欄,其中包含 myCol 資料欄值的累計清單,範圍從資料集第一列到現行列。

計算前面資料列的範例:

window value:ROLLINGLIST(myNumber, 5, 20)

輸出:產生新的資料欄,其中包含 myNumber 資料欄的現行列值與前二十列值的累計清單,值的總數上限為 5。

計算前後資料列的範例:

window value:ROLLINGLIST(myNumber, 20, 299, 200)

輸出:產生新的資料欄,其中包含 myNumber 資料欄中現行列前 299 列值、現行列值,以及現行列後 200 列值的累計清單,值的總數上限為 20。

語法

window value:ROLLINGLIST(col_ref, rowsBefore_integer, rowsAfter_integer) order: order_col [group: group_col]

引數是否必要?資料類型說明
col_ref字串資料欄名稱,其值會套用於函式
limit_int整數要擷取至清單陣列的值數上限。範圍從 11000
rowsBefore_integer整數待併入計算的現行資料列之前的列數
rowsAfter_integer整數待併入計算的現行資料列之後的列數

如要進一步瞭解 ordergroup 參數,請參閱 Window 轉換

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

col_ref

資料欄名稱,其值會用於計算函式。

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

使用須知:

是否必要?資料類型示例值
字串 (整數或小數值的資料欄參照)myColumn

limit_int

非負整數,定義要擷取至清單陣列的值數上限。

附註:如果指定此引數,則這個值必須介於 1 到 1000 (含) 之間。

附註:在一般匯總作業中,由於資料欄中的所有值皆分別插入至單一儲存格,因此請勿在 LIST 函式呼叫中使用限制引數。在這種情況下,如果您也指定 group 參數,或許可以使用限制引數。錯誤使用 LIST 函式可能會造成應用程式當機。

使用須知:

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

rowsBefore_integer、rowsAfter_integer

整數代表現行列前後的列數,系統會從現行列開始計算之前或之後指定列數 (包括現行列在內) 的滾動函式。例如,如果第一個值是 5,則計算範圍為現行列和現行列之後的四列。負值的 k 代表計算現行列之前指定列數的滾動平均值。

  • rowBefore=1 只會產生現行列值。
  • rowBefore=-1 使用現行列之前的所有列。
  • 如果沒有指定 rowsAfter,則會套用 0 值。
  • 如果套用 group 參數,則這些參數值不應超過群組中的最大列數。

使用須知:

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

範例

範例 - 按照競艇類型列出附近完賽者

下列資料集包含競賽中每艘競艇的完賽時間。在競賽中,每艘競艇可能會受指派一秒以上的懲罰時間,因此系統會新增兩個資料欄來計算競賽的總時間。

您想要有一份按照完賽時間列出的附近完賽者清單。

來源:

idpilotNameboatTyperaceTimeracePenalties
1SchmidtSunfish4573.853
2BoltLaser4934.2111
3MastersForce 54446.8970
4JamisonForce 54355.7931
5WilliamsSunfish4675.8615
6HobartLaser5077.550
7MillinghamLaser4940.0954
8NelsonForce 55116.1456
9GreeneSunfish5105.945
10DanielsonLaser4964.0318
11CooperForce 55281.5513
12StevensLaser5176.350
13YoungSunfish5038.1116
14ThompsonForce 55252.962
15McDonaldLaser5052.2420
16O'RoarkeSunfish5080.7645
17CollinsSunfish5176.0910
18WrightLaser5391.6134
19BlackSunfish5023.3232
20BushForce 55200.3728

轉換:

透過加總 raceTime 資料欄與 racePenalties 資料欄來計算每位完賽者的總比賽時間。

derive type: single value: raceTime + racePenalties as: 'totalRaceTime'

然後您可以按照競艇類型計算附近完賽者清單,產生的清單會依照 totalRaceTime 資料欄自動排序。

derive type: multiple value: ROLLINGLIST(boatType, 10, 4, 0) order: totalRaceTime as: 'last5FinisherBoatTypes'

Results:

idpilotNameboatTypelast5FinisherBoatTypesraceTimeracePenaltiestotalRaceTime
4JamisonForce 5["Force 5"]4355.79314386.79
3MastersForce 5["Force 5","Force 5"]4446.89704516.89
1SchmidtSunfish["Force 5","Force 5","Sunfish"]4573.8534626.8
5WilliamsSunfish["Force 5","Force 5","Sunfish","Sunfish"]4675.86154690.86
2BoltLaser["Force 5","Force 5","Sunfish","Sunfish","Laser"]4934.21114945.21
10DanielsonLaser["Force 5","Sunfish","Sunfish","Laser","Laser"]4964.03184982.03
7MillinghamLaser["Sunfish","Sunfish","Laser","Laser","Laser"]4940.09544994.09
13YoungSunfish["Sunfish","Laser","Laser","Laser","Sunfish"]5038.11165054.11
19BlackSunfish["Laser","Laser","Laser","Sunfish","Sunfish"]5023.32325055.32
15McDonaldLaser["Laser","Laser","Sunfish","Sunfish","Laser"]5052.24205072.24
9GreeneSunfish["Laser","Sunfish","Sunfish","Laser","Sunfish"]5105.9455110.94
16O'RoarkeSunfish["Sunfish","Sunfish","Laser","Sunfish","Sunfish"]5080.76455125.76
6HobartLaser["Sunfish","Laser","Sunfish","Sunfish","Laser"]5077.5505127.5
8NelsonForce 5["Laser","Sunfish","Sunfish","Laser","Force 5"]5116.14565172.14
12StevensLaser["Sunfish","Sunfish","Laser","Force 5","Laser"]5176.3505176.35
17CollinsSunfish["Sunfish","Laser","Force 5","Laser","Sunfish"]5176.09105186.09
20BushForce 5["Laser","Force 5","Laser","Sunfish","Force 5"]5200.37285228.37
11CooperForce 5["Force 5","Laser","Sunfish","Force 5","Force 5"]5281.55135294.55
14ThompsonForce 5["Laser","Sunfish","Force 5","Force 5","Force 5"]5252.9625314.9
18WrightLaser["Sunfish","Force 5","Force 5","Force 5","Laser"]5391.61345425.61

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

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

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