atoti.agg.distinct()#

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.

Warning

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