<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); position: static; z-index: auto; ">You may or may not be aware of the property&nbsp;<a href="http://mondrian.pentaho.com/api/mondrian/olap/MondrianProperties.html#SsasCompatibleNaming" style="text-decoration: none; color: rgb(41, 139, 213); ">mondrian.olap.SsasCompatibleNaming</a>. It controls the naming of elements, in particular how Mondrian names hierarchies when there are multiple hierarchies in the same dimension.</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">Let's suppose that there is a dimension called 'Time', and it contains hierarchies called 'Time' and 'Weekly'.</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">If&nbsp;SsasCompatibleNaming&nbsp;is false, the dimension and the first hierarchy will both be called '[Time]', and the other hierarchy will be called '[Time.Weekly]'.</div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">If&nbsp;SsasCompatibleNaming&nbsp;is true, the dimension will be called '[Time]', the first hierarchy be called '[Time].[Time]', and the other hierarchy will be called '[Time].[Weekly]'.</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">As you can see, SsasCompatibleNaming makes life simpler, if slightly more verbose, because it gives each element a distinct name. There are knock-on effects, beyond the naming of hierarchies. The most subtle and confusing effect is in the naming of levels when the dimension, hierarchy and level all have the same name. If SsasCompatibleNaming is false, then [Gender].[Gender].Members is asking for the members of the gender&nbsp;<i>level</i>, and yields two members. If SsasCompatibleNaming is true, then [Gender].[Gender].Members is asking for the members of the gender&nbsp;<i>hierarchy</i>, and yields three members (all, F and M).</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">Usually, however, Mondrian is forgiving in how it resolves names, and if elements have different names, it will usually find the element you intend.</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">The default value is false. However, that leads to naming behavior which is not compatible with other MDX implementations, in particular Microsoft SQL Server Analysis Services (versions 2005 and later).</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); ">From mondrian-4 onwards, the property will be set to true. (You won't be able to set it to false.) This makes sense, because in mondrian-4, with attribute-hierarchies, there will typically be several hierarchies in each dimension. We will really need to get our naming straight.</div><div class="p2" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); position: static; z-index: auto; ">What do we recommend?&nbsp;If you are using Pentaho Analyzer, Saiku or JPivot today, we recommend that you use the default value, false. But if you are writing your own MDX (or have built your own client), try setting the value to true. The new naming convention actually makes more sense, and moving to it now will minimize the disruption when you move to mondrian-4.</div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); "><br></div><div class="p1" style="color: rgb(51, 51, 51); font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; background-color: rgb(250, 250, 254); position: static; z-index: auto; ">I am just about to check in a change that uses a new, and better name resolution algorithm. It will be more forgiving, and standards-compliant, in how it resolves the names of calculated members. However, it might break compatibility, so it will only be enabled if SsasCompatibleNaming is true.</div><div><br></div><div>I have just posted this same information as a&nbsp;<a href="http://julianhyde.blogspot.com/2011/08/how-mondrian-names-hierarchies.html">blog post</a>... comments to the blog post, please.</div><div><br></div><div>Julian</div><div><br></div></body></html>