[Mondrian] RE: Same hierarchy on different axis

Julian Hyde jhyde at pentaho.com
Thu Jul 23 21:57:17 EDT 2009


I'm on the point of checking in this fix.

However, I need someone to verify that Jpivot works against this change, and
fix it if necessary. Can someone volunteer to do that? (You only need to
check with mondrian.olap.SsasCompatibleNaming=false.) 

> Also, does this have other technical implications? Or is just 
> a matter of removing a check? 

Rather more than that! About 2000 lines added/changed/removed, and another
2000 lines of changes to tests. I had to change Mondrian's evaluation
context to have one member per hierarchy rather than one per dimension, and
that had impact all over the code. Also, all dependency-checking code is in
terms of hierarchies rather than dimensions, and some functions which used
to take a dimension as a parameter now take a hierarchy.

If your dimension has a default hierarchy, and have property
mondrian.olap.SsasCompatibleNaming=false (its default value), application
changes should be minimal. I can't guarantee zero. If you have multiple
hierarchies in a dimension, you can reference them using names like
[Time.Weekly].

If you set mondrian.olap.SsasCompatibleNaming=true, then you can use naming
compatible with Microsoft Analysis Services 2005, i.e. [Time].[Weekly]. But
AS2005 doesn't support default hierarchies, so if a dimension has more than
one hierarchy, you need to fully qualify. For example, you now have to write
[Time].[Time].Members, where previously you could have written
[Time].Members. For dimensions that have only one hierarchy, such as
[Store], you can continue to write [Store] for both the dimension and the
hierarchy.

This change does not implement 'attribute relationships' [
http://www.sqlserveranalysisservices.com/OLAPPapers/AttributeRelationships.h
tm ], except, of course, for the relationships implicit in a hierarchy.

Julian





More information about the Mondrian mailing list