Page tree


Contents:

   

Contents:


Converts a string formatted as a number into an Integer or Decimal value by parsing out the specified decimal and group separators. A string or a function returning formatted numbers of String type or a column containing formatted numbers of string type can be inputs.

You can use this function to convert String values that have locale-specific formatting to locale-independent values of Integer or Decimal type by removing the formatting separators.

  • If the source value does not include a valid input for this function, a missing value is returned.
  • This function supports negative input values.
  • Supports input for multiple locale types and returns the output of the appropriate numeric type.

You can use decimal separators and grouping separators when working with other currency formats. More information is below.

NOTE: If the decimal separator and group separator arguments are not specified, then a null value is returned.

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

Numvalue(<code>Discount</code>, &quot;<code>,</code>&quot; ,&quot;<code>.&quot;</code>)

Output: Returns the values from the Discount column by converting the formatted number to a numeric value using decimal and group separators.  For example, if the Discount column has values in percentage,  then it is converted into the corresponding numeric value. Example: 10% to 0.10.

NOTE: If multiple percent signs are used in a column, then this function returns the decimal values accordingly. For example, an input of 9%% returns 0.0009.

NOTE: This function removes any currency indicators. For example, £ 100 as an input value returns 100.


Syntax and Arguments

<code class="listtype-code listindent1 list-code1 lang-bash">Numvalue(formattedNumber, [&quot;grouping_separator&quot;], [&quot;decimal_separator&quot;])</code>


ArgumentRequired?Data TypeDescription
formattedNumberYstringA string, a column of strings, or a function returning a string
grouping_separatorYstring A grouping representing grouping separator. By default, comma (,) is used as the grouping separator.
decimal_separatorYstringA string used to separate the integer and fractional part of the result. If not specified, then a null value is returned.

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

formatted_number

Literal string value, a function that returns a string value, or the name of a column containing string values to be converted into a numeric value.

  • Multiple columns and wildcards are not supported.

Usage Notes:

Required?Data TypeExample Value
Yesstring, a column of strings, or a function returning a formatted number string or column of stringsDiscount

grouping_separator

The string used to group a set of digits in the input values. Separators must be enclosed with double quotes (") or single quotes (').  For example, a comma  ( , )  is used as a grouping separator in the U.S.A. (“10,000”), whereas space is used in France (“10 000”).

NOTE: When you provide invalid separators or wrong separators, you may get an error in the Formula column.

Usage Notes:

Required?Data TypeExample Value
YesString literal','

decimal_separator

The string used to indicate the decimal point in the input values. Separators must be enclosed with double quotes ( " ) or single quotes ( ' ).

decimal separator is used to separate  the fractional  part of a number written in decimal form. For example, a period (.) is used as a decimal separator in the U.S.A. ("1234.12"), whereas comma (,) is used in France ("1234,12").

Usage Notes:

Required?Data TypeExample Value
YesString literal'.'


Grouping SeparatorDecimal SeparatorExample Locale
Comma (,)Period (.)U.S locale
Period (.)Comma (,)Spanish locale
SpaceComma (,)French locale

Examples


Tip: For additional examples, see Common Tasks.

Example - formatting price and percentages

This example shows how to convert the formatted number of string type into a numeric value. The following table shows different types of products and their total sales in the UK region. From this example, you must convert the total sales value for the U.S region.

First, you must convert the global currency formats into a generic numeric value, then proceed with the conversion calculation.

Source:

ProductsTotal_Sales_UK

Baby Foods

£ 100.00

Medicines

£  150.00

Groceries

£  200.00

Kitchen Supplies

£  25.00

Cosmetics

£  250.00

Snacks

£  50.00

Transformation:

The first transformation is to convert the Total_Sales_UK column into a numeric value. In this case, when a Numvalue function is applied, the value with the currency symbols returns only the numeric value. You can see the currency symbol is removed when using the Numvalue function.

Transformation Name Edit column with formula
Parameter: columns Total_Sales_UK
Parameter: Formula NUMVALUE (Total_Sales_UK, ",",".")

The second step consists of converting the U.K Pounds (£) to U.S Dollars ($) for better computations. In this step, you multiply the Total_Sales_UK column with the ratio conversion rate. Let's say the current conversion rate is 1.36, then multiply the U.K Pounds with 1.36 to convert to U.S Dollars. As a part of this transformation, the Total_Sales_US column is created.

Transformation Name New formula
Parameter: Formula type Single row formula
Parameter: Formula Total_Sales_UK * 1.36
Parameter: New column name Total_Sales_US

After you get the U.S conversion, you can format the values using the Numformat function. The Numformat function formats a numeric set of values according to the specified number formatting.

Transformation Name Edit column with formula
Parameter: columns Total_Sales_US
Parameter: Formula NUMFORMAT(Total_Sales_US, '$###,###.00', ',', '.')

Results

The output data should look like the following:

ProductsTotal_Sales_UKTotal_Sales_US

Baby Foods

£   100.00

$136.00

Medicines

£   150.00 $204.00

Groceries

£   200 .00 $272.00

Kitchen Supplies

£   25 .00 $34. 00

Cosmetics

£   250 .00 $340. 00

Snacks

£   50 .00 $68. 00

This page has no comments.