MAQL - Analytical Query Language

Multi-Dimension Analytical Query Language, or MAQL for short, is the GoodData’s proprietary querying language. It comes with a set of predefined functions that you can use for simple queries such as averages or complex statistical analysis such as skewness or kurtosis.

MAQL is a language that you will use to define metrics - aggregations of the underlying data that produce a number. A metric is essentially a mathematical formula that tells the application how to aggregate the raw data.

Key advantages:

  • No joins or sub-joins as MAQL works on top of logical data models and its queries are context-aware.
  • Any metric can be immediately used for reporting, reused again or deployed to assemble other metrics.
  • MAQL makes multidimensional analysis simple by abstracting any data complexities. You do not have to specify the fact or attribute origin as it is done automatically for you.

If you are arriving to MAQL from a SQL background, you will notice a degree of similarity in syntax construction and predefined argument references. However, whereas SQL is a relational database tool, MAQL is multi-dimensional.

Take a sneak peek at MAQL in action:

MAQL’s foundation principles make it a unique and powerful language. If you are new to MAQL we recommend you explore the following sections to get yourself familiar with using it.

MAQL is not SQL

Having a SQL background helps to get on board with MAQL, but you will soon discover that MAQL is a more powerful yet streamlined analytical language. For example, there are no joins , you can reuse your MAQL queries and, as you will see, the use of syntax is more efficient , so there is less code to write and less code to maintain.

For more information about the key differences, see:

MAQL versus SQL

MAQL is multidimensional

Multidimensionality and the ability to work with interchangeable dimensions are MAQL’s key concepts that set it apart from other data analytics tools.

Because of how our GoodData platform is built, MAQL works with logical instead of physical data models. As a result, MAQL’s use of data and metrics is context-aware. You can reuse the metrics as they take clues from the context of the logical data model.

To learn more about how MAQL uses multidimensionality to its advantage, see:

MAQL and Multidimentionality

MAQL works out of the box

MAQL features a wide array of functions, expressions and operators. To learn more about MAQL syntax, arguments, filters, functions and number formats see:

MAQL Expression Reference

Get started with MAQL

MAQL is a language to define metrics, which are aggregations of underlying data. In other words, a metric is a mathematical formula for aggregating raw data. MAQL also features Advanced Metric Editor, a graphical user interface, that takes away the need to type in the syntax manually.

The following page will help you get started with building your first MAQL metrics:

Get Started with Using MAQL to Write Metrics

If you are new to GoodData, see Create Metrics in our Getting Started guides.

Learn MAQL at GoodData University

GoodData university offers a comprehensive MAQL introductory course that will guide you through building metrics in several real-life scenarios.