Hierarchies
You can use the hierarchies
parameter within cubes to define hierarchies. You can think about a hierarchy as a means to group dimensions together and organize them into levels of granularity, allowing users to drill down or roll up for analysis.
Hierarchies display is subject to support in visualization tools. Check APIs & Integrations for details. You can also preview hierarchies in Playground.
Any hierarchy should have the following parameters: name
and levels
.
Parameters
name
The name
parameter serves as the identifier of a hierarchy. It must be unique among all members within a cube and follow the naming conventions.
cubes: - name: users sql_table: users # ... hierarchies: - name: location title: User Location levels: - state - city
title
You can use the title
parameter to set the human-readable name of a hierarchy:
cubes: - name: users sql_table: users # ... hierarchies: - name: location title: User Location levels: - state - city
levels
The levels
parameter is used to define the levels of the hierarchy. You can do so by listing the dimensions included in the hierarchy, from less granular to more granular ones:
cubes: - name: users sql_table: users dimensions: - name: state sql: state type: string - name: city sql: city type: string hierarchies: - name: location title: User Location levels: - state - city
You can include the same dimension in multiple hierarchies. It is also possible to include a dimension from a joined cube into a hierarchy:
cubes: - name: users sql_table: users joins: - name: orders sql: "{CUBE.id} = {orders.user_id}" relationship: one_to_many dimensions: - name: state sql: state type: string - name: city sql: city type: string - name: status sql: status type: string hierarchies: - name: details title: User Details levels: - status - state - city - name: statuses title: User & Order Statuses levels: - status - orders.status
public
The public
parameter is used to manage the visibility of a hierarchy. Valid values for public
are true
and false
. When set to false
, this hierarchy cannot be queried through the API. Defaults to true
.
cubes: - name: users sql_table: users # ... hierarchies: - name: location title: User Location levels: - state - city public: false