BonnardBonnard0.3.14
ModelingViews

View Cubes

The cubes property in a view selects which cubes and members to expose. Pick specific measures and dimensions from multiple cubes to create focused, consumer-ready interfaces.

Overview

The cubes property defines which cubes are combined in a view and which of their members (measures, dimensions, segments) are exposed. This is the core mechanism for building focused analytical interfaces.

Example

views:
  - name: orders_overview
    cubes:
      - join_path: orders
        includes:
          - count
          - total_revenue
          - status
          - created_at

      - join_path: orders.users
        includes:
          - name
          - email

Properties

join_path (required)

Specifies which cube to include and how to reach it via joins:

cubes:
  # Direct cube reference
  - join_path: orders

  # Joined cube (orders -> users)
  - join_path: orders.users

  # Multi-hop join (orders -> users -> countries)
  - join_path: orders.users.countries

includes

List specific members to expose:

- join_path: orders
  includes:
    - count # measure
    - total_revenue # measure
    - status # dimension
    - created_at # dimension

Include all members with "*":

- join_path: orders
  includes: "*"

excludes

Remove specific members when using includes: "*":

- join_path: orders
  includes: "*"
  excludes:
    - internal_notes
    - debug_flag

prefix

Add cube name prefix to avoid naming collisions:

- join_path: orders
  prefix: true
  includes:
    - count # Becomes "orders_count" in the view

Member Customization

Override member properties when including:

- join_path: orders
  includes:
    - name: count
      alias: order_count
      title: "Total Orders"
      description: "Number of orders placed"

    - name: total_revenue
      alias: revenue
      format: currency

Customization Options

OptionDescription
aliasRename the member in this view
titleOverride display name
descriptionOverride description
formatOverride data format
metaOverride metadata

Common Patterns

Focused Dashboard View

views:
  - name: sales_dashboard
    cubes:
      - join_path: orders
        includes:
          - count
          - total_revenue
          - average_order_value
          - created_at

      - join_path: orders.products
        includes:
          - name: name
            alias: product_name
          - category

Multi-Cube Aggregation

views:
  - name: customer_360
    cubes:
      - join_path: users
        includes: "*"
        excludes: [password_hash, api_key]

      - join_path: users.orders
        includes:
          - count
          - total_revenue

      - join_path: users.support_tickets
        includes:
          - count

See Also

On this page