[Upcoming] Our brand new Analytics Query Language, AQL!

Note: This is an early feature launch announcement, meaning the feature is still in development. We make this announcement early to gather feedback and make sure what we build actually helps solve our users’ use cases.


Hey folks!

We’ve got exciting news to share with you - we have been working on a brand new Analytics Query Language, AQL! :rocket:

AQL Expression is the next-gen upgrade to our current Business Calculation mechanism, designed to give you a more powerful and flexible way of querying data for analytics purposes.

Use Cases:

With AQL Expression, you can do things like:

  • Cross model calculation - Perform calculations across multiple models without having to manually merge the data via SQL Model.
  • Nested Aggregation - Create more complex calculations by nesting functions and aggregations within each other.
  • Add filtering in an AQL Expression - Filter your data at the query level rather than having to do it in a separate step.
  • Support Date/Time Intelligence Functions - Analyze your data over time using powerful date/time intelligence functions.
  • Subgroup Calculation - Perform calculations on subgroups of your data without having to create a separate query for each subgroup.
  • And so much more!

We’re confident that AQL will make your analytics workflow faster, more efficient, and more intuitive than ever before.

Enroll in Beta

Please comment below or fill in our Beta Request form if you’re interested in participating in the beta. Also, please share some of your use cases that would benefit from AQL.

As always, we appreciate your support and feedback. Happy querying! :raised_hands:


Please be aware that:

  • We are currently in the development phase, exploring various solutions, which may result in changes to syntax and UI in the future.
  • This functionality is currently only supported for version Holistics 4.0
  • This functionality is currently only supported for AML 2.0
5 Likes

Do note that we are currently in the development phase, exploring various solutions, which may result in changes to syntax and UI in the future

Sub-group Calculation

With AQL Expression, you can perform Subgroup Calculation flexibly and easily without having to create SQL (or transform) Model.

You can refer to the video below for more information.

Sample syntax

sum(order_items.quantity) * 1.0 /
  eval(sum(order_items.quantity), exclude(users.age_group))

If you have any questions in the meantime, please don’t hesitate to ask.

1 Like

Do note that we are currently in the development phase, exploring various solutions, which may result in changes to syntax and UI in the future

Cross-model Calculation

Let’s say you are a Country Manager of an Ecommerce Company and you want to calculate the Revenue by Country.

The formula to calculate it is the sum of the product price (from the Product model) multiplied by the quantity (from the Order Items model).

They are from 2 different models so you can write an AQL expression like the video below:

1 Like

I’d be interested in beta testing for this. I’d be particularly interested in checking out time-based and cross-model functions - but tbh I’d just like to see how far this might go to reduce our use of custom dimensions/measures to get around the limitations in business calculations and expressions.

2 Likes

We would love to be part of the Beta phase of this, so please sign us up.

2 Likes

Please sign us up! Our organization would really benefit from cross model calculations, nested aggregations, and date/time functions as we currently use workarounds in transform models instead.

1 Like

Hi, this is definitely the best holistics news of the month :slightly_smiling_face:
We would very much like to test the beta, only if we can be sure that it will not break our current environment :wink:

1 Like

We are very interested in being part of the beta phase for this feature!

1 Like

Do note that we are currently in the development phase, exploring various solutions, which may result in changes to syntax and UI in the future

Use Aggregation inside a Dimension

We will also support using aggregation as part of a dimension. This will enable use cases like binning and Cohort (as you can see in the demo video below).

Let’s say you are working for an Ecommerce Company and you want to find the Acquisition Cohort on a yearly basis.

To explain, Acquisition Cohort refers to a group of users who were acquired (signed up or made their first purchase) during a specific time period. This cohort is often analyzed to understand customer behavior, retention, and lifetime value.

Enroll in Beta

If you’re interested in participating in the beta, please let us know by filling our beta request form

Hi,

What happens if a filter is set in the dashboard on users.age_group ? Will this function exclude the filter as well ?

1 Like

Short answer is YES. The Divisor eval(sum(order_items.quantity), exclude(users.age_group)) will basically exclude (or skip) all the filtering from the dimension age_group.

Do note that the syntax could be modified in the future but the idea is the same.

1 Like

Hi, one last question before enrolling in beta : is the new AQL language backward-compatible with the current language ?

Hi @dacou,

Currently, if you utilize aggregate functions such as sum(field) or count(field), these will be compatible with AQL.
However, non-aggregate functions in business calculations (e.g., case...when..., and(), or(), etc.) are not yet compatible. Our engineering team is diligently working on a compatibility mode to ensure that your existing Business Calculations function seamlessly.

Transitioning from the current Business Calculation framework to AQL represents a significant architectural change. Our primary objective is to guarantee the compatibility of your existing Business Calculations to our AQL system. We will release an official announcement for Business Calculations and AQL soon.

Best,