Add Folders in Datasets to group Fields

You will most probably recognize this. You open a dataset, and you need to browse through hundreds of fields to find the field you actually need. Also some field names might be very close to each other.
When using naming conventions, you might get away with a better experience. But what if you could organize the dimensions and measures in folders?

Feature suggestion
As an Analyst, I want to be able to organize my fields in groups, for easier browsabiliy.

Example folders:

  • Revenue metrics
  • Leadtime metrics
  • Operation metrics
  • etc etc

By having the ability to organize your fields in such a way, end users who can build dashboards will have a much better experience

I suggested the same directly - this would be real help in organising models

As a workaround to this, you could split it into multiple models, and join those models up again in the dataset with a relationship between them

When you have multiple models in a dataset, Holistics will group the measure/dimensions by the source model.

You could create…
model_revenue = select key, revenue from base_table
model_leadtime = select key, leadtime from base_table
model_operation = select key, operation from base_table

In model_leadtime & model_operation you could then set the attribute for field key as hidden = true to prevent the key(s) showing multiple times.

Then create the dataset with a relationship on key

When your users browse the dataset, the measures/dimensions will be grouped per the underlying model.

Ours looks something like this…



Hi David,

Thank you for your suggestion.
I think it would be a very rough workaround just for achieving those folders :slight_smile:

You would still have in the end cross-model metrics that touch multiple models.

Most people that have a data warehousing use a Star Schema, and that has one table in the center connecting to other tables. Using your approach might introduce some complexity issues with the SQL generator when you do not set your relations correctly.

What my honest opinion is, that workarounds are only fine when they don’t introduce any issues/limitations.

While the feature request is very simple, the workaround introduces a lot of work and possibly more limitations

If you’re currently surfacing a single model in your dataset with hundreds of fields, then configuring a few separate models to break this out to be honest feels like a sensible thing to do anyway.

That said, I agree being able to group them would be useful - but it’s important to think about the best way/place to do this.

Personally, I would suggest this be configured within the model, as part of the measure/dimension config.

Something like this…

  dimension sales_value {
    label: "Sales Value"
    type: "number"
    definition: @sql {{ sales_volume }} * {{ sale_price }};;
    hidden: false
    format: "[$$]#,###"
    dataset_group: "Sales"

You would then want to have some settings at the dataset level to then control the behaviour, such as sort order of the groups, and sort order of the dimensions in the groups

something like

import '../models/calendar.model.aml' {
  calendar as model__calendar
import '../models/sales.model.aml' {
  sales as model__sales

Dataset daily_sales {
  label: "Daily Sales Records"
  description: ""
  data_source_name: "my_datasource"
  models: [
  relationships: [rel( >, true)]
  dataset_grouping: [default | custom] #should it use the custom grouping from the dataset or standard grouping?
  dataset_group_ordering: [alpha_desc | alpha_asc | etc] #how should it order the groups
  group_dim_ordering: [alpha_desc | alpha_asc | etc] #how should it order the dims with in the group

Hi @david-ri ,

I think your example AML completely makes sense and very intuitive also. :+1:

@huy any chance that this feature gets on the roadmap somewhere soon?

Thanks for asking Abdel, I personally am very keen to get this implemented, because I feel the pain here as a user myself. I’m pushing internally to get this implemented within Q3 this year! Hope to be able to give you good news soon.

1 Like

@huy thanks you very much

Hi Huy, any updates on this?

Being able to control where a particular field appears in a presentation layer (i.e. appearing in a user-controllable model or folder) would be a massive help in organising the front-end.



Hi @Alex_H
I believe that there are several possible solutions for the same problem “Organizing fields in dataset”. It can be either supporting folder grouping in dataset (like Abdel’s suggestion), or ability to hide unnecessary fields in a particular dataset,… or all of them.
So we decided to put this request into our backlog and then spend more time researching on the solution first. I’ll let you know if we have any plan to implement it in the next few months :blush:

I suggest looking at things like how PowerBI and other do this.

IMO being able to organise the list of fields and put into folders, so that hierarchical fields can be grouped together and that implicit relationship is now very explicit to your report users can easily be seen. At the moment, without complex naming conventions, this implicit relationship is hidden and people cannot see and understand it.

Just hiding fields won’t be enough in this context to make the dataset understandable for users.

I want to bump this topic again because I believe it is quite an essential UX feature. As mentioned here, other tools have this implemented and Looker with the LookML “group label” could serve as inspiration for an AML implementation.

Totally agreed. This topic is already 8 months old, I would also like to see at least an ETA

1 Like

Thanks for raising this @Abdel and @Gabriel. I agree with you that this is quite an essential UX feature. We’re going through product roadmap exercise right now, and I’ll be sure to bring this up with the team. I’ll get back to you when we have any update on this.

1 Like

Hi @huy
Any updates on this?

Hi @Abdel,

Our team is now concentrating on developing the as-code modeling layer; thus we have decided that we will not be able to meet your request at this time. Please know that our team carefully evaluated your request, and has come to this decision based on both business direction and customer interests.

We also want to let you know that this feature request has already been added to our 23Q1 backlog. Our team will get back to you soon when there’s any new update on it.

Thank you for your patience and understanding during this time :slightly_smiling_face: