[Mondrian] RE: NativizeSetFunDefTest and mondrian.olap.SsasCompatibleNaming

Julian Hyde jhyde at pentaho.com
Thu Dec 17 14:42:19 EST 2009


I think that's because in FoodMart 2005 the Gender hierarchy belongs to the
Customer dimension. So yes, Gender.Gender is short for the level
Customers.Gender.Gender, and Gender is short for the hierarchy
Customers.Gender.
 
In Mondrian it's a bit different -- the Gender hierarchy belongs to the
Gender dimension, so Gender.Gender properly refers to the hierarchy, not the
level.
 
However, if we use a more representative example, Customer, which is the
name of a dimension, hierarchy and a level, we get the following behavior on
SSAS 2005, which is consistent with Mondrian with SsasCompatibleNaming=true.
 
select head([Customer].members, 3) on 0 from [Warehouse and Sales]
 
gives error "The 'Customer' dimension contains more than one hierarchy"
 
select head([Customer].[Customer].members, 3) on 0 from [Warehouse and
Sales]
 
gives All, A. Catherince Binkley, A. Joyce Jarvis
 
select head([Customer].[Customer].[Customers].members, 3) on 0 from
[Warehouse and Sales]
 
gives A. Catherince Binkley, A. Joyce Jarvis, Aaron Carabellos.
 
I really do want to achieve  total compatability with Ssas name-resolution.
If you can find cases where Mondrian differs, please point them out on this
list or log a bug.
 
Julian


  _____  

From: Matt Campbell [mailto:mkambol at gmail.com] 
Sent: Wednesday, December 16, 2009 10:13 AM
To: jhyde at pentaho.com
Subject: Re: NativizeSetFunDefTest and mondrian.olap.SsasCompatibleNaming


Hi Julian, 

The failures are caused by Dimension.Level.Members queries being interpreted
as Dimension.Hierarchy.Members.  For example, 

select  [Gender].[Gender].members on 0 from sales

returns

Axis #0:
{}
Axis #1:
{[Gender].[All Gender]}
{[Gender].[All Gender].[F]}
{[Gender].[All Gender].[M]}
Row #0: 266,773
Row #0: 131,558
Row #0: 135,215


This is different than SSAS 2005/2008, which excludes the [All Gender].

F M
$10,932.00 $10,696.00


We can change the tests to match the currently expected syntax for referring
to a level, but I wonder if the real fix here is to modify Mondrian to be
consistent with SSAS behavior.

-matt



On Wed, Dec 16, 2009 at 4:29 AM, Julian Hyde <jhyde at pentaho.com> wrote:


Matt,
 
If I run the test suite with mondrian.olap.SsasCompatibleNaming=true, I get
lots of errors from NativizeSetFunDefTest. This is one of those options for
which the test suite needs to pass regardless of the setting. It's important
that the test suite works with this option set to true, because this will be
the default behavior of mondrian in 4.0.
 
(You weren't to know that this parameter was important. We're setting up a
hudson instance that tests all of these obscure parameters, and runs on
multiple databases and jdks regularly.)
 
Can you please fix NativizeSetFunDefTest for this option?
 
There are also errors in NonEmptyTest, SchemaTest and XmlaBasicTest. I have
not figured out who owns there.
 

Julian


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20091217/6d580dc0/attachment.html 


More information about the Mondrian mailing list