Back to Cube

View groups

docs-mintlify/docs/data-modeling/view-groups.mdx

1.6.613.1 KB
Original Source

When a data model contains many views, view groups help organize them into named collections by domain or purpose — for example, sales, finance, or people. View groups are exposed through the /v1/meta API, making it easier for downstream tools, AI agents, and embedded analytics to present a navigable catalog.

<Note>

See the view group reference for the full list of parameters and configuration options.

</Note>

Defining a view group

A view group is a top-level entity, defined alongside views. At minimum it needs a name; adding a title makes it easier to navigate in downstream tools.

<CodeGroup>
yaml
view_groups:
  - name: sales
    title: Sales
javascript
view_group(`sales`, {
  title: `Sales`
})
</CodeGroup>

Assigning views to a group

To assign a view to a group, list its name on the group via the includes parameter. This keeps the full membership in one place, which makes it easy to review a group at a glance.

<CodeGroup>
yaml
view_groups:
  - name: sales
    title: Sales
    includes:
      - orders_overview
      - revenue
javascript
view_group(`sales`, {
  title: `Sales`,
  includes: [`orders_overview`, `revenue`]
})
</CodeGroup>

A view can belong to more than one group — list it under the includes parameter of every group it should appear in.

Nesting

View groups can be nested, similar to nested folders. Add a nested view group — with its own name, title, description, and includes — directly inside a parent group's includes.

<CodeGroup>
yaml
view_groups:
  - name: sales
    title: Sales
    includes:
      - orders_overview
      - revenue

      - name: enterprise_sales
        title: Enterprise Sales
        includes:
          - enterprise_deals
javascript
view_group(`sales`, {
  title: `Sales`,
  includes: [
    `orders_overview`,
    `revenue`,
    {
      name: `enterprise_sales`,
      title: `Enterprise Sales`,
      includes: [`enterprise_deals`]
    }
  ]
})
</CodeGroup>

Where view groups live in the model

By convention, view groups are typically defined alongside views in the model/views folder — for example, in a dedicated view_groups.yml file. They behave like any other top-level data model entity and can be split across multiple files as your model grows.

Next steps

  • See the view group reference for the full list of parameters
  • Learn about views and how they curate cubes for downstream consumers
  • Explore AI context to improve AI query accuracy