Articles in this section
Category / Section

Why are the latest versions of Mondrian, incompatible with JavaScript PivotClient?

2 mins read

This KB illustrates that why are the latest versions of Mondrian, incompatible with Syncfusion Pivot Controls.

Solution:

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:

  1. 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.

 

Note:

This issue occurs in 3.3, and resolved in 3.4, but later raised in 3.5 and above versions.

 

  1. When you try to get the level members using the pre-defined method “GetMembers()”in ADOMD the following issue occurs.

 

Exception while getting level members

Figure 1: Error

The purpose of “GetMembers()” is to populate member editor of OLAP Client for Slice and Dice operation.

 

GetMembers() gets listed members in Elements editor

Figure 2: GetMembers()

Note:

This occurs from 3.3 and above versions.

 

Issue Reports:

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:

http://jira.pentaho.com/browse/MONDRIAN-1836

http://jira.pentaho.com/browse/MONDRIAN-131

The following issue report was logged by a Syncfusion Developer.

Syncfusion Developer Report:

http://jira.pentaho.com/browse/MONDRIAN-2186

Root Cause:

The root cause of the problem is the XML returned by Mondrian service to ADOMD dll is not compatible.

 

Flow between Syncfusion MDX parser and Mondrian server

Figure 3: Root Cause

Work Arounds:

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.
 
 

 

 

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment
Access denied
Access denied