This KB illustrates that why are the latest versions of Mondrian, incompatible with Syncfusion Pivot Controls.
All the Mondrian versions above 3.2 have been configured, checked and the following problems were encountered with ADOMD.Net provider and Mondrian server but not with Syncfusion controls.
Issues Raised From the Mondrian Server:
- MDX queries should contain “WHERE” clause. Without “WHERE” clause the following exception is thrown.
The following error occurs when executing MDX through “adomdCommand.ExecuteCellSet()” without WHERE clause. Inner exception - 'Element' is an invalid XmlNodeType.
This issue occurs in 3.3, and resolved in 3.4, but later raised in 3.5 and above versions.
- When you try to get the level members using the pre-defined method “GetMembers()”in ADOMD the following issue occurs.
Figure 1: Error
The purpose of “GetMembers()” is to populate member editor of OLAP Client for Slice and Dice operation.
Figure 2: GetMembers()
This occurs from 3.3 and above versions.
In Mondrian JIRA, feature reports are already logged for providing “native” format support to “ADOMD.Net”. You can find the Mondrian JIRA links as follows.
Other User/ Customer Reports:
The following issue report was logged by a Syncfusion Developer.
Syncfusion Developer Report:
The root cause of the problem is the XML returned by Mondrian service to ADOMD dll is not compatible.
Figure 3: Root Cause
OLAP Chart OLAP Chart and OLAP Grid can be made compatible with all versions of Mondrian by adding a dummy dimension at the Slicer axis in-order to generate “WHERE” clause. DimensionElement dimensionElementSlicer = new DimensionElement(); dimensionElementSlicer.Name = "Product"; dimensionElementSlicer.AddLevel("Product Categories", "Category"); olapReport.SlicerElements.Add(dimensionElementSlicer); OLAP Grid OLAP Client Need to downgrade to Mondrian 3.2 version since there is no solution or work-around for the “GetMembers()” issue raised, the key method to get and populate members inside member editor for slice and dice operation. Downgrading is just a temporary solution until Mondrain addresses the issue at their end.