>>> df = pd.DataFrame(
... columns=["Continent", "Country", "City", "Price"],
... data=[
... ("Europe", "France", "Paris", 200.0),
... ("Europe", "France", "Lyon", 200.0),
... ("Europe", "UK", "London", 200.0),
... ("Europe", "UK", "Manchester", 150.0),
... ("Europe", "France", "Bordeaux", None),
... ],
... )
>>> table = session.read_pandas(df, keys={"Continent", "Country", "City"}, table_name="Example")
>>> cube = session.create_cube(table)
>>> h, l, m = cube.hierarchies, cube.levels, cube.measures
>>> h["Geography"] = [table["Continent"], table["Country"], table["City"]]
>>> for name in h["Geography"]:
... del h[name]
>>> m["Price.VALUE"] = tt.agg.single_value(table["Price"])
>>> cube.query(
... m["Price.VALUE"],
... levels=[l["City"]],
... include_empty_rows=True,
... include_totals=True,
... )
Price.VALUE
Continent Country City
Total
Europe
France 200.00
Bordeaux
Lyon 200.00
Paris 200.00
UK
London 200.00
Manchester 150.00