Edit the Mondrian Properties File
mondrian.properties is in pentaho/server/pentaho-server/pentaho-solutions/system/mondrian.
Edit this file to tune Mondrian for your environment.
Note: This guidance targets Pentaho Analyzer performance. For all settings, see http://mondrian.pentaho.com/documentation/configuration.php.
Performance settings
Push as much work to the database as possible.
This matters most for high-cardinality dimensions.
It avoids large, sparse Cartesian products in memory.
mondrian.expCache.enable=trueImproves summary calculations, like ranks and running sums.
mondrian.native.crossjoin.enable=trueEnables database pushdown for cross joins.
Prevents large in-memory cross joins.
mondrian.native.filter.enable=truePushes
NOT INand exclude filters to the database.mondrian.native.nonempty.enable=falseOptimizes SQL generation for Analyzer-generated MDX.
Keeps
NON EMPTYcross joins in the database.mondrian.olap.maxConstraints=1000Used with
mondrian.native.ExpandNonNative.Increase this as your database allows.
mondrian.native.ExpandNonNative=truePushes down more cross joins.
Materializes inputs into
INlists when needed.mondrian.olap.elements.NeedDimensionPrefix=trueAnalyzer generates dimension-qualified members.
Mondrian can skip cross-dimension member searches.
Usability settings
These settings reduce user-facing failures and confusing results.
mondrian.result.limit=5000000Caps the largest cross join Mondrian will process in memory.
This limit avoids long server hangs when pushdown fails.
Analyzer can warn users when this limit is reached.
mondrian.olap.case.sensitive=truePreserves casing for equals filters.
Example:
John Doematches onlyJohn Doe.mondrian.olap.ignoreInvalidMembers=trueKeeps saved reports running when members disappear after ETL.
mondrian.olap.ignoreInvalidMembersDuringQuery=trueUse this with
mondrian.olap.ignoreInvalidMembers.mondrian.olap.iterationLimit=5000000Limits aggregate evaluation work.
This is similar to
mondrian.result.limit.mondrian.olap.compareSiblingsByOrderKey=trueEnables A–Z and Z–A member sorting.
This fixes a Mondrian sorting issue.
mondrian.olap.NullDenominatorProducesNull=trueControls divide-by-null behavior.
Example:
Booked Deals / Quota.When
true, divide-by-null returns null.NON EMPTYcan then filter those rows out.When
false, divide-by-null can return infinity.
Last updated
Was this helpful?

