[Mondrian] query model 2.0 / named set performance?

Paul Stoellberger p.stoellberger at gmail.com
Fri Mar 23 17:09:43 EDT 2012


I've been tinkering with various options for the mdx we could use for an improved query model, and I was wondering if named sets had any (negative) impact on performance.
I just want to use them to simplify the mdx and improve its readability.

For each level I would create a separate set.
Basically the whole concept is very level based.... that way users can perform stuff like TopCount, Filter, ... on specific levels, or a level could be a period instead of specific members.

A query could e.g. look like this:

set [ProductFamily] as '{[Product].[Food]}'
set [ProductDepartment] as 'Filter({[Product].[Food].[Dairy], [Product].[Food].[Meat]}, Ancestor(Product.CurrentMember,[Product Family]) in [ProductFamily])'
set [ProductCategory] as 'Filter({[Product].[Product Category].Members}, Ancestor(Product.CurrentMember,[Product Department]) in [ProductDepartment])'
set [ProductDimension] as 'Hierarchize({[ProductFamily], [ProductDepartment],[ProductCategory]})'
NON EMPTY {[Customers].[All Customers]} ON COLUMNS,
NON EMPTY [ProductDimension] ON ROWS
FROM [Sales]

on an axis i would then just do something like:
SELECT [Dimension1] * [Dimension2] ON COLUMNS, .....

I was trying to figure out a way that would work with DrillDownLevel and/or DrillDownMember .... but unfortunately they can only drill down 1 level and i wanted this to be a more general solution.
Otherwise I would have definitely preferred that.

Any Input on this from anyone who has an opinion would be highly appreciated.


More information about the Mondrian mailing list