EuclidOLAP has natural capability for measure aggregation calculations, such as summarizing from monthly to quarterly, and from quarterly to annual, as demonstrated in the following three MDX queries that retrieve revenue figures for different airplane models, aggregated by month, quarter, and year.
Query turnovers of three different aircraft models by month.
select
{[Date].[ALL].[2022].[Q2].[April],[Date].[ALL].[2022].[Q2].[May],[Date].[ALL].[2022].[Q2].[June]} on columns,
{
[Aircraft Type].[ALL].Boeing.[Boeing 747],
[Aircraft Type].[ALL].Boeing.[Boeing 777],
[Aircraft Type].[ALL].Boeing.[Boeing 787 Dreamliner]
} on rows
from [Airline Turnover];
Query turnovers of three different aircraft models by quarter.
select
{[Date].[ALL].[2020].Q1, [Date].[ALL].[2020].Q2, [Date].[ALL].[2020].Q3, [Date].[ALL].[2020].Q4} on columns,
{
[Aircraft Type].[ALL].Boeing.[Boeing 747],
[Aircraft Type].[ALL].Boeing.[Boeing 777],
[Aircraft Type].[ALL].Boeing.[Boeing 787 Dreamliner]
} on rows
from [Airline Turnover];
Query turnovers of three different aircraft models by year.
select
{[Date].[ALL].[2020], [Date].[ALL].[2021], [Date].[ALL].[2022]} on columns,
{
[Aircraft Type].[ALL].Boeing.[Boeing 747],
[Aircraft Type].[ALL].Boeing.[Boeing 777],
[Aircraft Type].[ALL].Boeing.[Boeing 787 Dreamliner]
} on rows
from [Airline Turnover];
For aggregation operations on summaries (e.g. summarizing quarters to years), using MDX does not require grouping with the "group by" clause and explicitly calling the "sum" function, as is required in SQL.
Moreover, MDX has no limitations on performing such aggregation operations, and they can be used at any position (rows, columns, or elsewhere).
The following MDX query retrieves the revenue for economy class service, grouped by airplane manufacturer (summarized by specific airplane models) and year (summarized by quarters).
select
{[Date].[ALL].[2020], [Date].[ALL].[2021], [Date].[ALL].[2022]} on columns,
{
[Aircraft Type].[ALL].Boeing,
[Aircraft Type].[ALL].Airbus
} on rows
from [Airline Turnover];