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 returns0
.
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)
Argument | Required? | Data Type | Description |
---|---|---|---|
numeric_value | Y | Decimal 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_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 Type | Example Value |
---|---|---|
Yes | String (column reference) or Integer or Decimal value | -10.5 |
Examples
Astuce
For additional examples, see Common Tasks.
Example - Basic SIGN function
Source:
Your source data looks like the following, which measures coordinate distances from a fixed point on a grid:
X | Y |
---|---|
-2 | 4 |
-6.2 | -2 |
0 | -4.2 |
4 | 4 |
15 | -0.05 |
Transformation:
You can use the following transform to derive the sign values of these columns:
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | sign(X) |
Parameter: New column name | 'signX' |
Transformation Name | |
---|---|
Parameter: Formula type | Single row formula |
Parameter: Formula | sign(Y) |
Parameter: New column name | '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 | |
---|---|
Parameter: Condition type | Case on custom conditions |
Parameter: Case 01 - Condition | (signX == 1) && (signY == -1) |
Parameter: Case 01 - Value | 'lower-right' |
Parameter: Case 02 - Condition | (signX == 1) && (signY == 1) |
Parameter: Case 02 - Value | 'upper-right' |
Parameter: Default value | 'line' |
Parameter: New column name | 'q1' |
Transformation Name | |
---|---|
Parameter: Condition type | Case on custom conditions |
Parameter: Case 01 - Condition | (signX == -1) && (signY == -1) |
Parameter: Case 01 - Value | 'lower-left' |
Parameter: Case 02 - Condition | (signX == -1) && (signY == 1) |
Parameter: Case 02 - Value | 'upper-left' |
Parameter: Default value | 'line' |
Parameter: New column name | 'q2' |
Then, you can merge the two columns together:
Transformation Name | |
---|---|
Parameter: Columns | q1,q2 |
Parameter: Separator | '' |
Parameter: New column name | 'quadrant' |
Results:
X | Y | signX | signY | quadrant |
---|---|---|---|---|
-2 | 4 | -1 | 1 | upper-left |
-6.2 | -2 | -1 | -1 | lower-left |
0 | -4.2 | 0 | -1 | line |
4 | 4 | 1 | 1 | upper-right |
15 | -0.05 | 1 | -1 | lower-right |