The terms you’ll meet in eMondrian, Excel and Power BI. If you know Microsoft Analysis Services or Mondrian, they mean the same thing here.

Catalog

A catalog is one semantic model: a schema file plus a database connection. Catalogs are declared in datasources.xml — see datasources.xml reference.

In Excel and Power BI a catalog appears as a database (Excel: Select the database; Power BI: Database).

Community ships two catalogs: FoodMart (retail sample) and OnTime (US flights in ClickHouse).

Schema

The schema is the XML file that describes the model: which tables or SQL views are used, which cubes, dimensions and measures exist. See Schema reference.

Cube

A cube is the unit you query: a set of measures that can be analysed by a set of dimensions. A cube is built on one fact table or view — one row per event, e.g. one flight or one sales line.

Example: the cube OnTime (attributes) has measures such as Flights and On-Time Rate, and dimensions such as Airline and Time.

Dimension

A dimension is a perspective for slicing the data: Time, Airline, Customer, Product. It usually comes from a dimension table or view joined to the fact table by a key.

Attribute

An attribute is one column of a dimension that users can use: Year, Month, City, Gender. In eMondrian schemas attributes are declared with <DimensionAttribute>; one of them is the dimension’s key (usage="Key").

Hierarchy and level

A hierarchy arranges attributes into drill-down paths: Year → Quarter → Month or State → City → Airport. Each step is a level. A dimension can have several hierarchies.

The top All member (e.g. All Airlines) represents the total.

Member

A member is one value of a level: 2022, Q1, January, AA. In MDX members are written with unique names, e.g. [Time].[2022].[Q1].

Measure

A measure is a number aggregated from a fact column: Flights = sum of Flights, Distinct Tail Numbers = distinct count of Tail_Number. Aggregators include sum, count, distinct-count, min, max and avg.

Calculated member

A calculated member is a measure (or member) defined by an MDX formula over other members — typically business KPIs:

On-Time Rate = 1 - (Late Arrivals + Cancelled + Diverted) / Flights

Defined once in the schema, it gives the same result in Excel, Power BI and AI agents.

Role

A role restricts what a user may see: whole cubes, dimensions or individual members. See the SampleRole example in schema/Foodmart.xml.

Query languages

LanguageUsed byExample
MDXExcel, OLAP Client, many OLAP toolsSELECT [Measures].[Flights] ON 0 FROM [OnTime (attributes)]
DAXPower BIEVALUATE ROW("Org_Salary", 'HR'[Org Salary])
MCPAI agentsNot a query language — a protocol that lets agents call tools such as execute_query

All of them go through XMLA (XML for Analysis) except MCP. See XMLA endpoint.

Further reading: the original Mondrian introduction What is OLAP.