[Mondrian] Deprecating Member Ordinal

Kurtis Walker kwalker at pentaho.com
Mon Jan 14 14:49:25 EST 2013

On Monday, January 14, 2013 01:09:30 PM Nicholas Goodman wrote:
> On Jan 14, 2013, at 10:20 AM, Kurtis Walker wrote:
> > Mondrian Users,
> >   We are planning to deprecate the Member Ordinal property in Mondrian 4 and have it always return a value of "0".  It would also be removed from the OLAP4J spec.  This propery has been deprecated in the XMLA spec and will always return "0" in Microsoft Analysis Services.  We'd like to find out if any Mondrian clients are using Member Ordinal.
> > 
> >  In addition, we are considering adding a new OLAP4J property called Order Key.  Order Key would be the value or set of values that should be using for ordering members.
> > 
> > Let us know if you have any thoughts on these issues.  Thanks!
> I'm trying to verify your assumptions and curious as to the rationale.  Rationale is easier; why remove a well known MDX syntax and create one of nearly identical functionality that I would believe, Mondrian would be unique in it's implementation of?  Why create a functional fork that pushes Mondrian further into an island of MDX syntax?
> Rather than saying you plan to remove it, what's the rationale/reasoning?  I assume you are motivated by http://jira.pentaho.com/browse/MONDRIAN-1173 ?  That indicates that it's difficult to implement and not REQUIRED by the XMLA spec not that it's been deprecated.  Perhaps this difficulty is the motivation?
> Can you please share the source of information that indicates it's been deprecated?  Or the source of information that SSAS always returns 0 for the property?
> The XMLA spec is a terrible one; it includes the MDX language by inference, says the version included in the appendix is hereby included in the <statement/> XML and then omits the proper links in the appendix.  Well done MSFT.  However, I have not seen anything that indicates that Member Ordinal has been deprecated.
> http://msdn.microsoft.com/en-us/library/ms145509.aspx (SQL Server 2012 docs).  A new XMLA specification is more than 10 years overdue...
> Perhaps I'm being daft, but isn't the ordinal already needed to get the Members in a level that isn't naturally numerically sorted in proper order (.PrevMember, .ParallelPeriod, etc)?  Is displaying it really that much more difficult?
> Nick
> PS - In answer to your question... does anyone use the property, YES sometimes.  Does custom order of Members matter (.PrevMember, etc) OH MY GOSH, YES ABSOLUTELY.
> _______________________________________________
> Mondrian mailing list
> Mondrian at pentaho.org
> http://lists.pentaho.org/mailman/listinfo/mondrian

Thanks for the feedback Nick.  

Here is a reference to Microsoft deprecating and always returning Zero.  http://technet.microsoft.com/en-us/library/ms126046.aspx See the entry for MEMBER_ORDINAL.

The reference document that you linked to is for the Ordinal function on a Level.  That is different from the "Member Ordinal" property which is exposed through XMLA using MDSchema_Members, or through OLAP4J.  There should not be any changes needed to MDX queries as a result of this change.  The MDX functions that depend on ordering will return the same values as before.  It should only affect you if you are using the Mondrian API, the OLAP4J API, or XMLA directly.  The primary motivation is that it is expensive internally for Mondrian to compute the correct Ordinal values.  Usages of the ordinal value inside Mondrian will be refactored to use the "Order Key" instead.  External usages of the "Member Ordinal" property through the API would also need to be refactored to use the Order Key

Hope that provides a little more of an explanation.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20130114/457dfee4/attachment.html 

More information about the Mondrian mailing list