PI 函式

PI 函式會產生圓周率至小數點後 15 位的值:3.1415926535897932。

此函式不使用任何參數。產生的值是小數類型,且精度到小數點後 15 位數。如果您想讓產生的值包含較少位數,可能需要套用其他數字格式或使用 ROUND 函式。

基本用法

derive type:single value: PI() as:'pi_col'

輸出:針對各個資料列產生圓周率的值。

語法

此函式沒有任何引數。

範例

範例:圓周率資料欄

在下列範例中,來源就是 source 資料欄,且 pi 資料欄是由 PI 函式產生:

derive type:single value:PI() as:'pi'

sourcepi
A

3.1415926535897932

B

3.1415926535897932

C

3.1415926535897932

D

3.1415926535897932

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