# 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`.

Wrangle vs. SQL: This function is part of Wrangle, a proprietary data transformation language. Wrangle is not SQL. For more information, see Wrangle Language.

## Basic Usage

Column reference example:

`sign(MyInteger)`

Output: Returns the sign of the value found in the `MyInteger` column.

Numeric literal example:

`(sign(MyInteger) == -1)`

Output: Returns `true` if the sign of the entry in the `MyInteger` column is `-1`.

## Syntax and Arguments

`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

### numeric_value

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`

## Examples

Tip: For additional examples, see How-to Guides.

### Example - Basic SIGN function

Source:

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

XY
-24
-6.2-2
0-4.2
44
15-0.05

Transformation:

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

Transformation Name `New formula` `Single row formula` `sign(X)` `'signX'`

Transformation Name `New formula` `Single row formula` `sign(Y)` `'signY'`

Using these two columns, you can assign each set of coordinates into a quadrant. For ease of reading, the following has been broken into two separate tranformations:

Transformation Name `Conditional column` `Case on custom conditions` `(signX == 1) && (signY == -1)` `'lower-right'` `(signX == 1) && (signY == 1)` `'upper-right'` `'line'` `'q1'`

Transformation Name `Conditional column` `Case on custom conditions` `(signX == -1) && (signY == -1)` `'lower-left'` `(signX == -1) && (signY == 1)` `'upper-left'` `'line'` `'q2'`

Then, you can merge the two columns together:

Transformation Name `Merge columns` `q1,q2` `''` `'quadrant'`

Results: