Affects Version/s: 3.5.0 GA (4.8.0 GA Suite Release)
Fix Version/s: 3.6.0 (5.0.0 GA Suite Release)
We are using Sybase IQ 12.7 for the data. We are connecting to Sybase IQ 12.7 using the JDBC driver jconn3.jar.
We created a datasource using the option File-->New --> Data Source... using the sql query.
I am attaching a document explaining the steps followed and steps to replicate the issue.
I have also attached the mondrian schema file created and all the logs (pentaho.log, mondrian.log, mondrian_mdx.log and mondrian_sql.log) with the error.
In the pentaho.log we get the following error:
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: com.sybase.jdbc3.jdbc.SybSQLException: SQL Anywhere Error -131: Syntax error near '(end of line)' on line 14
This is because the following query generated by mondrian fails.
select count from (select distinct "FACT"."CompanyName" as "c0" from (SELECT
where Country='Canada') "FACT")
The sql query is failing because of the missing alias at the end.
Add the attribute "approxRowCount" at each Level definition. For example
<Level name="Surname" column="Surname" uniqueMembers="false" approxRowCount="100">
Instead of mondrian to query for the count, you explicitly specify the approximate row count by using the attribute "approxRowCount".
By this way mondrian will not query for count.
This issue happens even with Sybase IQ 15.4 database.
|Test MONDRIAN-1510 in 4.8.1||Closed||Fixed|