ROWNUMBER 函式

產生新資料欄,其中所含的資料列編號會依 order 參數指定排序,且可選擇性地依 group 參數指定分組。

提示:如要按照來源資料的原始順序來產生資料列 ID,請使用 $sourcerownumber 參考資料。請參閱來源中繼資料參照

這項函式可搭配下列轉換使用:

基本用法

範例:

window ROWNUMBER() order:Date

輸出:產生新的資料欄,其中含有每一列的資料列編號並依 Date 資料欄值排序。

分組範例:

window ROWNUMBER() order:Date group:QTR

輸出:產生新的資料欄,其中含有每一列的資料列編號,這些編號會按 Date 資料欄值排序並依 QTR 值分組。系統會針對每一個季值,重設資料列編號計數器。

語法

window value:ROWNUMBER() order: order_col [group: group_col]

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

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

範例

範例 - 累計範圍函式

這個範例說明如何使用累計計算函式:

  • ROLLINGSUM - 計算現行列前後某一列數範圍的累計總和。請參閱 ROLLINGSUM 函式
  • ROLLINGAVERAGE - 計算現行列前後某一列數範圍的累計平均值。請參閱 ROLLINGAVERAGE 函式
  • ROWNUMBER - 依排序資料欄的指定,計算每一列的資料列編號。請參閱 ROWNUMBER 函式

下列資料集包含一年中最後一季的銷售資料。

來源:

DateSales
10/2/16200
10/9/16500
10/16/16350
10/23/16400
10/30/16190
11/6/16550
11/13/16610
11/20/16480
11/27/16660
12/4/16690
12/11/16810
12/18/16950
12/25/161020
1/1/17680


轉換:

首先,您要以個別的資料欄保存資料列資訊。由於資料已經依 Date 資料欄排序,您可以使用下列指令:

window value:ROWNUMBER() order:Date

將這個資料欄重新命名為 rowId,代表一季中的週別。

現在,您要從 Date 值中擷取月份及週別資訊。取得月份值:

derive type:single value:MONTH(Date) as:'Month'

取得季度值:

derive type:single value:(1 + FLOOR(((month-1)/3))) as:'QTR'

取得季度中的週別值:

window value:ROWNUMBER() order:Date group:QTR

重新命名此資料欄 WOQ (季度的週別)。

取得月份中的週別值:

window value:ROWNUMBER() group:Month order:Date

重新命名此資料欄 WOM (月份中的週別)。

現在,執行累計計算。使用下列指令計算銷售的累積總計:

window value: ROLLINGSUM(Sales, -1, 0) order: Date group:QTR

在上述計算中,使用 -1 參數來收集從目前列到第一列所有資料列值的累計總和。請注意,使用 QTR 資料欄進行分組,會將 01/01/2017 的值移至它自己的計算值區。這不一定是您想要的結果。

重新命名此資料欄 QTD (本季至今)。現在,系統會產生類似的資料欄,計算該季每週銷售的累計平均值。

window value: ROUND(ROLLINGAVERAGE(Sales, -1, 0)) order: Date group:QTR

ROLLINGAVERAGE 函式可以計算小數值,因此可內含於 ROUND 函式中來取得精簡值。重新命名此資料欄 avgWeekByQuarter

結果:

捨棄不需要的資料欄並套用部分重新排序後,資料集應如下所示:

DateWOQSalesQTDavgWeekByQuarter
10/2/161200200200
10/9/162500700350
10/16/1633501050350
10/23/1644001450363
10/30/1651901640328
11/6/1665502190365
11/13/1676102800400
11/20/1684803280410
11/27/1696603940438
12/4/16106904630463
12/11/16118105440495
12/18/16129506390533
12/25/161310207410570
1/1/171680680680


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

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

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