Start with the logs: most problems are explained in mondrian.log — see Logs.
Installation
| Problem | What to check |
|---|---|
| Setup stops: port 80 in use | Another web server (IIS, Apache, nginx) uses port 80. Set EMONDRIAN_PORT in .env and run the script again — see [[install/docker |
| Linux: permission denied on Docker | Your user was just added to the docker group. Log out and in, or run newgrp docker. |
| Windows: setup stops after installing WSL | Restart Windows, then run the setup script again. Re-running is safe. |
http://localhost doesn’t open | docker compose ps — are the containers running? Is the port right? |
Catalogs and schemas
| Problem | What to check |
|---|---|
| Catalog doesn’t appear | In datasources.xml, <DataSourceInfo> must come before <Definition>; & must be &. Restart: docker compose restart eMondrian. See [[config/datasources |
| Cube missing or schema error | mondrian.log names the element that failed. Check element order inside <Dimension>: AttributeMapping → DimensionAttribute → Hierarchy. |
View has no 'generic' variant | A <View> has SQL only for another database. Add <SQL dialect="generic"> — see [[modeling/schema |
| An attribute seems ignored | Misspelled attributes are ignored silently (e.g. type instead of dataType on KeyColumn). Run validate_schema via [[clients/mcp |
| Wrong totals | Dimension keys must be unique in the dimension source — see [[modeling/clickhouse |
| New data doesn’t show up | Results are cached within a client session. Restart (docker compose restart eMondrian) or reconnect the client. |
Database connection
| Problem | What to check |
|---|---|
| Can’t reach my database | Inside the container localhost isn’t your machine — use host.docker.internal (on Linux add extra_hosts). Check firewall and credentials. See [[config/databases |
No suitable driver / driver class not found | The JDBC driver isn’t installed, or it’s in modules/ instead of WEB-INF/lib. See [[config/databases |
| ClickHouse: query size or AST errors | Add max_query_size, max_ast_elements, max_expanded_ast_elements to the connection string. |
Excel
| Problem | What to check |
|---|---|
| Excel can’t connect | Open the XMLA address in a browser on the same machine. Use the port from .env. From another machine: firewall — see [[install/remote-access |
Power BI and licenses
| Problem | What to check |
|---|---|
| Error when connecting or refreshing, or no fields | Is a key activated on http://localhost and not expired? If Excel works and Power BI doesn’t, check the key first. |
No .lic files found | No key activated. Activate one — it takes effect without a restart. See [[licensing/evaluation |
License has expired | Activate a new key, then docker compose restart eMondrian. |
| A visual or DAX query fails | Copy the query from Performance analyzer and open an issue. See [[clients/dax |
AI agents (MCP)
| Problem | What to check |
|---|---|
| MCP client can’t connect | URL must end in /emondrian/mcp/sse and use the port from .env. The client must support SSE. |
Error POSTing to endpoint (HTTP 404) | /emondrian prefix missing, or an old module — update Community (git pull, docker compose up -d). |
Module 'MCP' not found in license modules | Key covers DAX only. Request a new evaluation key; if another key was active, restart after activating. |
| DAX via MCP fails | Pass the cube argument for catalogs with several cubes; write measures as 'Table'[Measure]. |
| Agent’s answer looks wrong | Ask the agent to show the query it ran; run it in the OLAP Client; check the measure definitions in the schema. |
Still stuck?
Open an issue with the eMondrian version, what you did, the error message and the relevant lines of mondrian.log.