atoti.agg.count_distinct module#
- atoti.agg.count_distinct(operand, *, scope=None)#
Return a measure equal to the distinct count of the passed measure across the specified scope.
- Parameters
operand (
Union
[Column
,Operation
,MeasureDescription
,MeasureConvertible
]) – The measure or table column to aggregate.scope (
Optional
[Scope
]) – The scope of the aggregation. WhenNone
is specified, the natural aggregation scope is used: it contains all the data in the cube which coordinates match the ones of the currently evaluated member.
Example
>>> df = pd.DataFrame( ... columns=["id", "Quantity", "Price", "Other"], ... data=[ ... ("a1", 100, 12.5, 1), ... ("a2", 10, 43, 2), ... ("a3", 1000, 25.9, 2), ... ], ... ) >>> table = session.read_pandas( ... df, ... table_name="Product", ... keys=["id"], ... ) >>> table.head() Quantity Price Other id a1 100 12.5 1 a2 10 43.0 2 a3 1000 25.9 2 >>> cube = session.create_cube(table) >>> m = cube.measures >>> m["Price.DISTINCT_COUNT"] = tt.agg.count_distinct(table["Price"]) >>> cube.query(m["Price.DISTINCT_COUNT"]) Price.DISTINCT_COUNT 0 3
- Return type