範例 - RANDBETWEEN 與 PI 函式

本範例說明如何套用下列函式,以在資料集中產生新資料與隨機資料:

  • RANDBETWEEN - 產生介於兩個指定整數之間的隨機整數值。請參閱 RANDBETWEEN 函式
  • PI - 產生圓周率至小數點後 15 位的值。請參閱 PI 函式
  • ROUND - 將小數值以四捨五入法處理,取得最接近的整數或是指定的位數。請參閱 ROUND 函式
  • TRUNC - 將數值以無條件捨去法處理,取得最接近的整數值。請參閱 TRUNC 函式

來源:

在下列範例中,公司生產 10 個圓形零件,並依每個產品的半徑測量其大小 (以英寸為單位)。

prodIdradius_in
p0011
p0022
p0033
p0044
p0055
p0066
p0077
p0088
p0099
p01010

根據上述資料,公司想要針對這些圓形零件產生一些額外的尺寸資訊,包括沿著每個零件的圓周長產生兩點,並在其中應用品質壓力測試。

轉換:

首先,您可使用下列步驟產生每個產品的面積和圓周長,並四捨五入至小數點後三位:

derive type:single value: ROUND(PI() * (POW(radius_in, 2)), 3) as: 'area_sqin'

derive type:single value: ROUND(PI() * (2 * radius_in), 3) as: 'circumference_in'

基於品質考量,公司必須沿著圓周長計算兩個獨立的隨機位置,以產生兩個測試點。由於 RANDBETWEEN 函式僅會使用整數值計算,因此您必須先以無條件捨去法處理,取得 circumference_in 的近似值:

derive type:single value: TRUNC(circumference_in) as: 'trunc_circumference_in'

接著,您可使用下列指令計算隨機點:

derive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt01_in'

derive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt02_in'

結果:

捨棄 trunc_circumference_in 資料欄後,資料看起來應會類似以下內容:

prodIdradius_inarea_sq_incircumference_intestPt01_intestPt02_in
p00113.1426.28355
p002212.56612.56633
p003328.27418.8501313
p004450.26525.1332424
p005578.54031.41600
p0066113.09737.6991515
p0077153.93843.9821111
p0088201.06250.26511
p0099254.46956.5492929
p01010314.15962.8322121
本頁內容對您是否有任何幫助?請提供意見:

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

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