Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space DEV and version r0682

This example illustrates how you can apply the following functions to generate new and random data in your dataset:

  • RANDBETWEEN - Generate a random Integer value between two specified Integers. See RANDBETWEEN Function.
  • PI - Generate the value of pi to 15 decimal points. See PI Function.
  • ROUND - Round a decimal value to the nearest Integer or to a specified number of digits. See ROUND Function.
  • TRUNC - Round a value down to the nearest Integer value. See TRUNC Function.

Source:

In the following example, a company produces 10 circular parts, the size of which is measured in each product's radius in inches.

prodIdradius_in
p0011
p0022
p0033
p0044
p0055
p0066
p0077
p0088
p0099
p01010

Based on the above data, the company wants to generate some additional sizing information for these circular parts, including the generation of two points along each part's circumference where quality stress tests can be applied.

Transformation:

To begin, you can use the following steps to generate the area and circumference for each product, rounded to three decimal points:

D trans
RawWrangletrue
p03Value'area_sqin'
Typestep
WrangleTextderive type:single value: ROUND(PI() * (POW(radius_in, 2)), 3) as: 'area_sqin'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02ValueROUND(PI() * (POW(radius_in, 2)), 3)
p03NameNew column name
SearchTermNew formula

D trans
RawWrangletrue
p03Value'circumference_in'
Typestep
WrangleTextderive type:single value: ROUND(PI() * (2 * radius_in), 3) as: 'circumference_in'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02ValueROUND(PI() * (2 * radius_in), 3)
p03NameNew column name
SearchTermNew formula

For quality purposes, the company needs two tests points along the circumference, which are generated by calculating two separate random locations along the circumference. Since the RANDBETWEEN function only calculates using Integer values, you must first truncate the values from circumference_in:

D trans
RawWrangletrue
p03Value'trunc_circumference_in'
Typestep
WrangleTextderive type:single value: TRUNC(circumference_in) as: 'trunc_circumference_in'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02ValueTRUNC(circumference_in)
p03NameNew column name
SearchTermNew formula

Then, you can calculate the random points using the following:

D trans
RawWrangletrue
p03Value'testPt01_in'
Typestep
WrangleTextderive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt01_in'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02ValueRANDBETWEEN(0, trunc_circumference_in)
p03NameNew column name
SearchTermNew formula

D trans
RawWrangletrue
p03Value'testPt02_in'
Typestep
WrangleTextderive type:single value: RANDBETWEEN(0, trunc_circumference_in) as: 'testPt02_in'
p01NameFormula type
p01ValueSingle row formula
p02NameFormula
p02ValueRANDBETWEEN(0, trunc_circumference_in)
p03NameNew column name
SearchTermNew formula

Results:

After the trunc_circumference_in column is dropped, the data should look similar to the following:

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