Skip to main content

eval

info

This is part of our beta expression language AQL. Learn more. Request beta.

Definition

Apply metric function(s) to modify the original measure

Syntax

eval(measure, metric_function)

Input

  • measure: A define AQL measure
  • metric_function (repeated): A metric functions to modify the measure. E.g. with_relationships, exact_grains, etc.

Output

A newly modifed measure

Examples

Let’s say you want to calculate the percentage of sales contributed by each country in your E-commerce business.

Percent of total

You will need to:

  • Sum the order values grouped by country
  • Divide the sum of each country by the total order value across all countries

Below is the formula for the percent_of_total measure that follow the logic above:

measure percent_of_total {
definition: @aql
sum(orders.order_value) / eval(sum(orders.order_value), exclude(orders.country))
}

Technically, the eval() function will create a new aggregation context for the sum(orders.order_value) expression. This new context excludes orders.country dimension, which allows the sum to be calculated over all countries.

For more information about context modifiers, you can refer to the following docs:


Let us know what you think about this document :)