Skip to main content

Dataset's Custom Views

Knowledge Checkpoint

A grasp of these concepts will help you understand this documentation better:


Only available on Holistics version 4.0 (Analytics As Code).

Discuss in community


When designing new datasets, it can be quite challenging to strike the right balance between comprehensiveness and usability

  • Comprehensiveness: It’s important that the dataset involves a wide range of relevant information to provide a comprehensive view.
  • Usability: The dataset should also be user-friendly, allowing users to quickly find the information they need. A usable dataset should be well-organized and easy to navigate.

To address this challenge, we introduce a feature called Dataset Custom View. This feature allows data analysts to curate the display of fields and models within datasets. With Dataset Custom View, analysts can:

  • Reorder fields and models to highlight frequently used models and fields by putting them on top.
  • Hide fields and models that are not relevant to end users.
  • Group relevant fields and models to provide better context.

How It Works

By default, in dataset UI:

  • Fields are grouped by dimensions and measures, then displayed by the order listed in model files.
  • Models are displayed by the order listed in dataset files.

To create a dataset view, data analysts can define a view parameter in the dataset definition.



view { }Creates a dataset view to customize the display of information
model model_name { }Specifies a model to be included in the dataset view. The model name must be the name of a model that is defined in the dataset definition.
group group_name { }Creates a group of fields and models. Groups can contain fields within a model or contain different models. It is not possible to create a group directly in a group.
field field_nameSpecifies a dimension or a measure to be included in the dataset view. The field name must be the name of a field that is defined in the model that is included in the view.


Dataset ecommerce {

models: [users, products. orders, dates]
relationships: [
relationship(orders.user_id >, true),
relationship(orders.product_id >, true),
relationship(orders.order_date >, true)
view {
model products { } // Display all fields from Products
model users {
// Display selected fields from Users
field id
field email
field age

// Create group "Customer Name" containing fields within model Users
group customer_name {
field first_name
field last_name
field full _name

// Create group "Order Master" containing two models Orders and Dates
group order_master {
model orders {
field order_value
field id
field order_status
field order_discount

model dates {
field year
field month name
field day
field week_number
field quarter

When a dataset has custom views, the view is displayed by default. This makes it easy for end users to get started with curated datasets. You still have the option to switch to the original field list if you prefer.

Let us know what you think about this document :)