SIGN Function

Computes the positive or negative sign of a given numeric value. The value can be a Decimal or Integer literal, a function returning Decimal or Integer, or a reference to a column containing numeric values.
  • For positive values, this function returns 1.
  • For negative values, this function returns -1.
  • For the value 0, this function returns 0.

Basic Usage

Column reference example:

derive type:single value:SIGN(MyInteger) as:'sign_MyInteger'

Output: Generates the new sign_MyInteger column containing the absolute value of each value found in the MyInteger column.

Numeric literal example:

delete row:(SIGN(MyInteger) == -1)

Output: Deletes all rows from the dataset in which the sign of the entry in the MyInteger column is -1. This transform remove all rows contain negative values in the MyInteger column.


derive type:single value:SIGN(numeric_value)

ArgumentRequired?Data TypeDescription
numeric_valueYDecimal or Integer Decimal or Integer literal, function returning Decimal or Integer, or name of column to apply to the function

For more information on syntax standards, see Language Documentation Syntax Notes.


Numeric literal, function returning numeric literal, or name of the column containg values the sign of which are to be computed.

  • Missing input values generate missing results.
  • Literal numeric values should not be quoted. Quoted values are treated as strings.
  • Multiple columns and wildcards are not supported.

Usage Notes:

Required?Data TypeExample Value
YesString (column reference) or Integer or Decimal value-10.5


Example - Basic SIGN function


Your source data looks like the following, which measures coordinate distances from a fixed point on a grid:



You can use the following transform to derive the sign values of these columns:

derive type:single value: SIGN(X) as: 'signX'

derive type:single value: SIGN(Y) as: 'signY'

Using these two columns, you can assign each set of coordinates into a quadrant:

case cases: [(signX == 1) && (signY == -1),'lower-right'],[(signX == 1) && (signY == 1),'upper-right'],[(signX == -1) && (signY == -1),'lower-left'],[(signX == -1) && (signY == 1),'upper-left'] default: 'line' as: 'quadrant'



Was this page helpful? Let us know how we did:

Send feedback about...

Google Cloud Dataprep Documentation
Need help? Visit our support page.