Affects Version/s: 3.2.0 GA (3.6.0 GA Suite Release)
Fix Version/s: Backlog
I am implementing compound slicer functionality now, and just about to check in. A compound slicer is a WHERE clause that contains a set of members or tuples. If the members or tuples do not overlap, mondrian's behavior is correct.
But if they overlap, mondrian will include the cells in the result twice, and that is inconsistent with the results that SSAS 2005 produces.
Here are some examples where the regions overlap.
1. A list of members contains the same member twice, e.g. WHERE
2. A list of members contains one member that is a child of another, e.g. WHERE
3. A list of tuples can have more complicated overlaps, e.g. WHERE
seems to overlap but does not.
The right thing to do is to view the tuples as collections of predicates - column=value conditions combined with ANDs and ORs - to be pushed into the WHERE clause of the query sent to the fact table. Currently Mondrian evaluates compound slicers using basically the 'by hand' method - create a calculated member whose calculation is Aggregate( <list of members> ) and put it in the WHERE clause - except that it allows calculations that are tuples.