Number.*

Power Query Number.* column expressions.

class fabrictools.powerquery.number.Number[source]

Bases: object

Namespace for Power Query Number.* functions.

static FromText(expr: pyspark.sql.Column | str) → pyspark.sql.Column[source]

Convert text to a nullable number with US/FR decimal rules (Power Query Number.FromText).

Implements the invoicing script fxToNumber logic: strips non-numeric characters, detects thousand separators vs decimal comma/point, and parses accordingly.

Parameters:

expr (Column | str) – Spark column or string literal.

Returns:

Nullable double column expression.

Return type:

Column

Example

>>> from fabrictools import Table, Number
>>> df = Table.TransformColumns(df, [
...     ("Total Invoice amount without VAT", Number.FromText),
... ])
static ToText(expr: pyspark.sql.Column | str | int | float, format: str | None = None) → pyspark.sql.Column[source]

Convert a number to text (Power Query Number.ToText).

When format is a zero-padded mask such as "0000" or "00", the value is left-padded with zeros to that width (e.g. month 1 → "01"). Null input stays null.

Parameters:
  • expr (Column | str | int | float) – Numeric column, string column, or numeric literal.

  • format (str | None) – Optional custom format ("0" digits = pad width).

Returns:

String column expression.

Return type:

Column

Example

>>> from fabrictools import Number, Date
>>> from pyspark.sql import functions as F
>>> Number.ToText(Date.Month(F.col("Date contractuelle")), "00")