Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.activeviam.com/llms.txt

Use this file to discover all available pages before exploring further.

atoti.agg.distinct(operand: LevelOrVariableColumnConvertible, /) → MeasureDefinition

atoti.agg.distinct(operand: VariableMeasureConvertible, /, *, scope: CumulativeScope | SiblingsScope | OriginScope) → MeasureDefinition

Return an array measure equal to the distinct values of the passed measure across the specified scope.
This feature is experimental, its key is "agg.distinct".
  • Parameters:
    • operand – The measure or table column to aggregate.
    • scope – The aggregation scope.

Example

>>> df = pd.DataFrame(
...     columns=["ID", "City"],
...     data=[
...         (1, "Paris"),
...         (2, "London"),
...         (3, "New York"),
...         (4, "Paris"),
...     ],
... )
>>> table = session.read_pandas(df, keys={"ID"}, table_name="Example")
>>> cube = session.create_cube(table)
>>> l, m = cube.levels, cube.measures
>>> with tt.experimental({"agg.distinct"}):
...     m["Distinct cities"] = tt.agg.distinct(table["City"])
>>> m["Distinct cities"].formatter = "ARRAY[',']"
>>> cube.query(m["Distinct cities"], levels=[l["City"]], include_totals=True)
                Distinct cities
City
Total     New York,London,Paris
London                   London
New York               New York
Paris                     Paris