Page tree
Skip to end of metadata
Go to start of metadata

In the GoodData Portal, advanced metric wizards and custom metric editor are useful whenever you'd like to create metrics that are more complex than mere aggregations of a given fact. For example, you may want to use MAQL statements to write metrics with built-in filters, mathematical operations, or rules that dictate how the metric is affected by report attributes or filters.

After a metric has been added to the global metrics, you can only edit it through the Manage page.


How to Access the Advanced Metric Editors

You can access the Advanced Metric Editors in several ways:

  • Manage Page > Data Tab > Metrics:
    The Create Metric button is in the upper right corner of the Metrics Page.

Create a new metric

  • Reports Page > What Pane
    • The (advanced) link next to the Add New Metric button in the What pane
    • The Advanced Metric Editor link that appears in the right-most column when the Simple Metrics Editor has been opened (by clicking the Add New Metric button)
      Two ways to access the custom metric editor

Create a Metric Using a Metric Wizard

The GoodData Portal offers three Metric Wizards in addition to its Custom Metric Editor.

Metric Wizards allow you to quickly create metrics that involve performing an operation on a preexisting metric. Each wizard can be accessed from the Advanced Metric Editor dialog:

Metric wizards for defining new metrics

Percentage Share Metric Wizard

The Percentage Share Metric Wizard allows you to create a new metric that uses a percentage to show the relationship of some part to a whole.

A share metric requires the following definitions:

  • A metric (such as Sales) to serve as the "part"
  • An attribute (such as Year) by which to aggregate this metric, to serve as the "whole"

Difference Metric Wizard

Use the Difference Metric Wizard to create a new metric that calculates the difference between an aggregated value and a fixed number. For example, you can create a metric that calculates the difference between year-to-date sales and a metric that represents the sales quota.

A difference metric requires the following definitions:

  • A metric (such as Year-to-date Sales) to serve as the value that will be subtracted
  • An attribute by which this metric will be aggregated (such as 2005) to serve as the fixed value that the above metric will be subtracted from

Ratio Metric Wizard

You can relate two metrics to one another with the Ratio Metric Wizard. For example, you can create a metric that calculates a Revenue to Expense ratio.

A ratio metric requires the following definitions:

  • The first metric to be used in your ratio (for example, Revenues)
  • The second metric to be used in your ratio (for example, Expenses)

Custom Metric Editor

The Custom Metric Editor provides an interface that serves as a guide for creating your own metrics in MAQL, a powerful data querying language.

Access the Custom Metric Editor by opening the Metric Editor Dialog (see above) and clicking Custom metric beneath the three Metric Wizard options.

The Custom Metric Editor allows you to define metrics with MAQL syntax.

From the Custom Metric Editor you can define a metric by entering MAQL statements directly into a text field. 

Enter MAQL syntax directly into the Custom Metric Editor's text field.

Project elements in your MAQL definitions are automatically color-coded so you can keep track of which elements you've included in your metric and ensure your MAQL syntax is valid:

Formatting styles highlight the project elements that appear in MAQL metric syntax. Project Element Color Codes




Attribute Values


MAQL syntax must be valid in order for a custom metric to be saved. If you try to save a metric with invalid MAQL syntax, an alert pops up that will help you pinpoint the issue.

In the following example, the SELECT keyword is missing from the start of the metric's definition. All MAQL definitions begin with "SELECT."

Improper MAQL syntax is flagged when the metric is saved.

Project Element Sidebar

The sidebar to the right provides an organized directory of all the project's elements (facts, metrics, attributes, attribute values, and variables)—all in the form of snippets that can be inserted directly into your metric's definition.

While MAQL syntax can typically be typed directly into the Metric Editor text field, project elements like facts, metrics, attributes, attribute values, and variables must be added to metric definitions using the Project Element Sidebar.

Click an element's heading to view its contents.

Use the Project Element Sidebar to insert project elements, like facts, metrics, attributes, attribute values, and variables, into the Custom Metric Editor.


When you find an element of interest, double-click it, or select it and click Add Selected, to insert it into your metric's MAQL definition in the text field.

Double-click project elements in the sidebar to insert them into metric definitions.

Tabs toward the bottom of the dialog contain additional MAQL operators, functions, and keywords that can be used in your metric definitions. In the tab directories, click the linked name of a MAQL operator, function, or keyword to insert the correctly structured MAQL syntax into the Metric Editor. These MAQL operators, functions, and keywords combine with the project elements (found in the sidebar, detailed above) to create meaningful MAQL metric definitions. For more information, see  MAQL Expression Reference .

Clicking the colored ellipses opens the project element sidebar to the appropriate directory. From there, you can select the project element should be inserted into the syntax.

Click an ellipsis to open the Project Element Sidebar where you can select the element to insert the MAQL syntax.

The Metric Editor supports copy and paste, which you can use to manipulate syntax within a metric's MAQL text field, or to duplicate/move syntax from one metric to another.

Examples of MAQL Syntax

Consider the following examples of MAQL syntax:


MAQL Syntax

Return the largest Sale_Amount fact value

SELECT MAX(Sale_Amount)

Compute the sum of all sales

SELECT SUM(Sale_Amount)

Multiply a predefined metric by some value

SELECT Profit * 0.03

Divide one metric by another metric

SELECT New_Revenue / Revenue_Last_Year

Return the Payment value for yesterday

SELECT Payment WHERE Date = THIS – 1

Return the Revenue value for the fifth month of 2006

SELECT Revenue WHERE Year=2006 AND Month=5

Compute the average number of overtime hours that were worked in California in 2007

SELECT AVG(Overtime Hours) WHERE Store_State IN (CA) AND Year IN (2007)

Return Revenue values for all years except for 2006

SELECT Revenue WHERE Year <> 2006

VIDEO Advanced Metric Editor Walkthrough

Get Adobe Flash player