FILL 函式

使用由空白值前後指定範圍資料列所決定的最新非空白值,填入指定資料欄中的任何遺漏值或空值。
  • 要擷取值的資料列是由執行轉換時的資料列順序決定。如果您正在處理隨機產生的資料集樣本,則您在此函式中看到的值未必會對應到工作執行期間在完整資料集中產生的值。

  • 除了要套用函式的資料欄外,函式也支援使用其他兩個參數。
    • 第一個整數參數針對要掃描非空白值的資料列,定義其前方的資料列數量。
    • 第二個整數參數針對要掃描非空白值的資料列,定義其後方的資料列數量。
    • 如果在這些資料列中找不到任何非空白值,該空白值即會維持留空狀態。
    • 預設值分別為 -10,其會針對用來填入的非空值,在資料列前方執行無限制的搜尋。
  • 您可以使用 grouporder 參數定義記錄群組,以及對記錄套用這個轉換的順序。
  • 這個函式可與下列的轉換一起使用:

基本用法

window value:FILL(myNumber,-1,0) order:'Date'

輸出:產生新的資料欄,其中包含 myNumber 資料欄的所有值,且此資料欄中的任何空儲存格,皆由 Date 資料欄所決定的最新非空白值填補。

window value:FILL(myNumber,-5,4) order:'Date'

輸出:產生包含所有 myNumber 資料欄值的新資料欄,且此資料欄中的任何空儲存格,皆會由目前資料列之前 5 個資料列和後 5 個資料列當中的最新非空白值來填補。

語法

window value:FILL(col_ref, int_rows_before, int_rows_after) order: order_col [group: group_col]

引數是否必要?資料類型說明
col_ref字串資料欄名稱,其值會套用於函式
int_rows_before整數

用來掃描非空白值之目前資料列前方的列數。預設值為 -1,其會掃描目前資料列之前的所有資料列。

int_rows_after整數用來掃描非空白值之目前資料列後方的列數。預設值為 0,其會掃描目前資料列之後的所有資料列。

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

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

col_ref

資料欄名稱,其值會在空值出現時填入。

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

使用須知:

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

int_rows_before

用來掃描最近非空白值之目前資料列前方的列數。

  • 預設值為 -1,其會掃描所有先前的列數。
  • 0 不會掃描目前資料列之前的資料列。

使用須知:

是否必要?資料類型示例值
整數5

int_rows_after

用來掃描最近非空白值之目前資料列後方的列數。

  • 預設值為 0,其不會掃描目前資料列後方的任何資料列。
  • -1 會掃描所有接續的資料列。

使用須知:

是否必要?資料類型示例值
整數5

範例

範例 - 填入季度預測值

您的每月銷售資料包含每個月的銷售金額,但來源系統僅在每個季度的第一個月資料提供季度預測資料。您可以使用 FILL 函式,在每個月的資料中加入預測資料。

來源:

DateAmountForecast_Qtr
1/31/155231400
2/28/15135
3/31/15824
4/30/153051500
5/31/15763
6/30/15421
7/31/156061600
8/31/15477
9/30/15785
10/31/154431700
11/30/15622
12/31/15518

轉換:

您可以使用下列轉換指令,將 Forecast_Qtr 資料欄的每個空白月份填入預測值。請注意,order 參數必須設為 Date 以建立適當的排序。

window value: FILL(Forecast_Qtr,-1,0) order: Date

您現可刪除 Forecast_Qtr 資料列,並將產生的 window 資料列重新命名為已刪除的名稱。

如要瞭解每個月的進展,您可以使用下列轉換指令,計算每個月的平均預測值:

derive type:single value:NUMFORMAT((Forecast_Qtr/3),'####.##') as:'Forecast_Month_Avg'

接著,您可以比較這個值與每個月的實際 Amount 值:

derive type:single value:NUMFORMAT(((Amount - Forecast_Month_Avg)/Forecast_Month_Avg)*100, '##.00') as:'MonthActualVForecast_Pct'

結果:

DateAmountForecast_QtrForecast_Month_AvgMonthActualVForecast_Pct
1/31/155231400466.6712.07
2/28/151351400466.67-71.07
3/31/158241400466.6776.57
4/30/153051500500-39.00
5/31/15763150050052.60
6/30/154211500500-15.80
7/31/156061600533.3313.63
8/31/154771600533.33-10.56
9/30/157851600533.3347.19
10/31/154431700566.67-21.82
11/30/156221700566.679.76
12/31/155181700566.67-8.59

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

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

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