1
votes

I'm using Mondrian xml schema for Saiku report (Pentaho 7.0) and when defining roles, Saiku throws errors whenever there are parentheses. (Actually from my different combo of testing it's the conclusion I came up with. No solid evidence.) XML parser doesn't throw errors but when loading data cubes, Saiku doesn't like it. For example

  <Role name="ABC-DEF.GHI(JKL)">
    <SchemaGrant access="none">
      <CubeGrant cube="Some Cube" access="all">
        <DimensionGrant dimension="[Measures]" access="all"/>
        <HierarchyGrant hierarchy="Some Hierarchy (with parentheses)" access="none">
        </HierarchyGrant>
      </CubeGrant>
     </SchemaGrant>
   </Role>

Did anyone come across this issue?

2

2 Answers

2
votes

The best way to test a Mondrian Schema without having to upload it to the server and with better diagnosis is to download the Mondrian Schema Workbench from SourceForge, and try to load the xml. You do not have to use it to build your schema (xml is good enough), but it will try to interpret the schema and put a red flag on any potential error.

A second way its to edit the pentaho-server/tomcat/webapps/pentaho/WEB-INF/classes/log4j.xml. Find the section starting with <!-- Special Log File specifically for Mondrian --> and uncomment the following lines. Then restart your biserver and read the logs with tail -f tomcat/logs/pentaho.log. It will tell you all what happens wrong when the server loads the cubes.

And it may very well be that Saiku does not like parenthesis (it is fading memories for me). Try

<HierarchyGrant hierarchy="Some Hierarchy &#40;with parentheses&#41;" access="none">.

If your hypothesis about parenthesis is exact then think about others and answer your own question or comment my answer.

1
votes

I agree with @monty_bean. Saiku may not give any feedback about what the error is, but looking at the tomcat pentaho log can give you some clues. I had a similar problem, in my case a field name was misspelled. Saiku just refused to load the schema, but in the pentaho log the error was clear.

Also, if you try your schema in the "Schema workbench", try to execute an mdx sentence directly from the schema workbench. Error messages are there pretty clear too.