atoti_query.query_hierarchy module

class atoti_query.query_hierarchy.QueryHierarchy(_name, _dimension, _levels, _slicing)

Hierarchy of a query cube.

property dimension: str

Dimension of the hierarchy.

Return type

str

isin(*member_paths)

Return a condition to check that the hierarchy is on one of the given members.

Considering hierarchy_1 containing level_1 and level_2, hierarchy_1.isin((a,), (b, x)) is equivalent to (level_1 == a) OR ((level_1 == b) AND (level_2 == x)).

Parameters

members – One or more members expressed as tuples on which the hierarchy should be. Each element in a tuple corresponds to a level of the hierarchy, from the shallowest to the deepest.

Example

>>> df = pd.DataFrame(
...     columns=["Country", "City", "Price"],
...     data=[
...         ("Germany", "Berlin", 150.0),
...         ("Germany", "Hamburg", 120.0),
...         ("United Kingdom", "London", 240.0),
...         ("United States", "New York", 270.0),
...         ("France", "Paris", 200.0),
...     ],
... )
>>> table = session.read_pandas(
...     df, keys=["Country", "City"], table_name="isin example"
... )
>>> cube = session.create_cube(table)
>>> h, l, m = cube.hierarchies, cube.levels, cube.measures
>>> h["Geography"] = [l["Country"], l["City"]]
>>> m["Price.SUM in Germany and Paris"] = tt.filter(
...     m["Price.SUM"],
...     h["Geography"].isin(("Germany",), ("France", "Paris")),
... )
>>> cube.query(
...     m["Price.SUM"],
...     m["Price.SUM in Germany and Paris"],
...     levels=[l["Geography", "City"]],
... )
                        Price.SUM Price.SUM in Germany and Paris
Country        City
France         Paris       200.00                         200.00
Germany        Berlin      150.00                         150.00
               Hamburg     120.00                         120.00
United Kingdom London      240.00
United States  New York    270.00
Return type

BaseHierarchyIsinCondition

property levels: Mapping[str, atoti_query.query_level.QueryLevel]

Levels of the hierarchy.

Return type

Mapping[str, QueryLevel]

property name: str

Name of the hierarchy.

Return type

str

property slicing: bool

Whether the hierarchy is slicing or not.

Return type

bool