RANDBETWEEN 函式

產生介於一小數字和一大數字之間的隨機整數。兩個輸入可以是整數或小數類型、會傳回這些類型的函式,或資料欄參照。
  • 範圍包含兩個參數值。
  • 第一個參數必須是範圍中較小的值。

基本用法

derive type:single value: RANDBETWEEN(1,10) as:'r10'

輸出:針對各個資料列,在新的 10 函式中產生介於 1 和 r10 之間的整數值。

語法

derive type:single value: RANDBETWEEN(value1,value2) as:'random'

引數是否必要?資料類型說明
value1整數或小數整數或小數常值、會傳回整數或小數資料類型的函式,或範圍下限的資料欄參照。範圍包含這個值。
value2整數或小數整數或小數常值、會傳回整數或小數資料類型的函式,或範圍上限的資料欄參照。範圍包含這個值。

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

value1、value2

分別用來當做範圍下限和上限的常值、函式,或整數或小數值的資料欄參照。

  • 如果系統找不到輸入值,則會產生空白的結果。
  • 不支援多個資料欄和萬用字元。

使用須知:

是否必要? 資料類型範例值
整數或小數常值、函式,或資料欄參照100

範例

範例:RANDBETWEEN、PI 和 TRUNC 函式

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

  • 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 說明文件
需要協助嗎?請前往我們的支援網頁