Affects Version/s: 3.2.2 GA (3.8.0 GA Suite Release)
Fix Version/s: 3.3.0 GA (4.1.0 GA Suite Release)
In Analyzer, an end user can use the Find box in the filter dialog to search for specific members in a dimension. This find will result in Analyzer generating an MDX statement which uses the MATCHES MDX function. The enhancement is to support native evaluation of this function so that if a match was done on a 1M cardinality dimension, Mondrian would not have to bring all 1M members in to cache to evaluate the MATCHES expression.
Here is a sample MDX generated by Analyzer which uses the Matches function:
Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Customers], Not IsEmpty ([Measures].[Unit Sales]))'
Set [*SORTED_COL_AXIS] as 'Order([*CJ_COL_AXIS],[Customers].CurrentMember.OrderKey,BASC,Ancestor([Customers].CurrentMember,[Customers].[City]).OrderKey,BASC)'
Set [*BASE_MEMBERS_Customers] as 'Filter([Customers].[Name].Members,[Customers].CurrentMember.Caption Matches ("(?i).\Qaaron\E."))'
Set [*BASE_MEMBERS_Measures] as '
Set [*CJ_COL_AXIS] as 'Generate([*NATIVE_CJ_SET],
Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Unit Sales]', FORMAT_STRING = 'Standard', SOLVE_ORDER=400
CrossJoin([*SORTED_COL_AXIS],[*BASE_MEMBERS_Measures]) on columns