atoti.level module¶
- class atoti.level.Level(_name, _column_name, _data_type, _hierarchy=None, _comparator=Comparator(_name='ASCENDING', _first_members=None))¶
Level of a
Hierarchy
.A level is a sub category of a hierarchy. Levels have a specific order with a parent-child relationship.
In a Pivot Table, a single-level hierarchy will be displayed as a flat attribute while a multi-level hierarchy will display the first level and allow users to expand each member against the next level and display sub totals.
For example, a Geography hierarchy can have a Continent as the top level where Continent expands to Country which in turns expands to the leaf level: City.
- property comparator: atoti.comparator.Comparator¶
Comparator of the level.
- Return type
- isin(*members)¶
Return a condition to check that the level is on one of the given members.
level.isin(a, b)
is equivalent to(level == a) OR (level == b)
.- Parameters
members – One or more members on which the level should be.
Example
>>> df = pd.DataFrame( ... columns=["City", "Price"], ... data=[ ... ("Berlin", 150.0), ... ("London", 240.0), ... ("New York", 270.0), ... ("Paris", 200.0), ... ], ... ) >>> table = session.read_pandas( ... df, keys=["City"], table_name="isin example" ... ) >>> cube = session.create_cube(table) >>> l, m = cube.levels, cube.measures >>> m["Price.SUM in London and Paris"] = tt.filter( ... m["Price.SUM"], l["City"].isin("London", "Paris") ... ) >>> cube.query( ... m["Price.SUM"], ... m["Price.SUM in London and Paris"], ... levels=[l["City"]], ... ) Price.SUM Price.SUM in London and Paris City Berlin 150.00 London 240.00 240.00 New York 270.00 Paris 200.00 200.00