<div dir="ltr">Hello,<br>I&#39;m sorry to bother you guys with this, but it seemed to me appropriate to write this one to the mailing list, just to be sure it&#39;s not a mondrian bug.<br><br>I have this mondrian xml definition with a fact table (as a sql query) and a hierarchical dimension.<br>
Using the cube with a Integer/Double fact column, is fine, but if I use a VarChar column, i get an exception, but only when I expand the hierarchical dimension root level. I am able to combine the fact (the VarChar one) with the dimension, and see one line with the hierarchy all name and the max value from the Varchar db column.<br>
<br>Is this a bug or do i have something wrong with my xml definition ?<br><br>If necessary i could try and build an example on top o foodmart example.<br>I&#39;m using mondrian ver. 2.4.0.9716.<br><br>Here is the mondrian xml definition :<br>
<br>&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;<br><br>&lt;Schema name=&quot;5_1219928473000&quot;&gt;<br>&nbsp; &lt;Cube name=&quot;5&quot; caption=&quot;Cubo Teste&quot; cache=&quot;true&quot; enabled=&quot;true&quot;&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;View alias=&quot;PRODUTO&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SQL&gt;&lt;![CDATA[<br>SELECT<br>&nbsp;&nbsp; THIS_.CHVP AS PCHVP,<br>&nbsp;&nbsp; THIS_.DESIGPRODUTO AS PDESIGPRODUTO<br>&nbsp;&nbsp; A8676_.CHVEESTRUTURACLD AS CHVEESTRUTURACLD<br>&nbsp;&nbsp; FROM PRODUTO THIS_<br>
&nbsp;&nbsp; INNER JOIN ESTRUTURA A8676_ ON A8676_.CHVP = THIS_.CHVP<br>]]&gt;&lt;/SQL&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/View&gt;<br>&nbsp;&nbsp;&nbsp; &lt;Dimension name=&quot;Produtos&quot; foreignKey=&quot;PCHVP&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Hierarchy name=&quot;Total Produtos&quot; allMemberName=&quot;Total Produtos&quot; hasAll=&quot;true&quot; primaryKey=&quot;CHVP&quot; primaryKeyTable=&quot;PRODUTO&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Table name=&quot;PRODUTO&quot; alias=&quot;PRODUTO22&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Level name=&quot;Referência&quot; table=&quot;PRODUTO22&quot; column=&quot;REFPRODUTO&quot; uniqueMembers=&quot;true&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property column=&quot;CHVP&quot; name=&quot;ChvP&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property column=&quot;DESIGPRODUTO&quot; name=&quot;Designação&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Level&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Hierarchy&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;/Dimension&gt;<br>&nbsp;&nbsp;&nbsp; &lt;Dimension name=&quot;Classificação&quot; foreignKey=&quot;CHVEESTRUTURACLD&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Hierarchy name=&quot;Total Classificação&quot; allMemberName=&quot;Total Classificação&quot; hasAll=&quot;true&quot; primaryKey=&quot;CHVP&quot; primaryKeyTable=&quot;ESTRUTURA&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Table name=&quot;ESTRUTURA&quot; alias=&quot;ESTRUTURA18&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;SQL&gt;&lt;![CDATA[&quot;ESTRUTURA18&quot;.CHVECATEGORIA IN (select this_.ChvP as y0_ from Categoria this_ where (((this_.ChvEExercicio=[$EXER] or this_.ChvEExercicio is null) and (this_.ChvEUnidadeUtilizadora is null or this_.ChvEUnidadeUtilizadora=[$UU])) and (lower(this_.SiglaCategoria) like &#39;cld&#39; and this_.SiglaCategoria is not null))) ]]&gt;&lt;/SQL&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Table&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Level name=&quot;CCA&quot; table=&quot;ESTRUTURA18&quot; column=&quot;CHVP&quot; parentColumn=&quot;CHVEESTRUTURA&quot; ordinalColumn=&quot;CODCOMPIESTRUTURA&quot; nameColumn=&quot;CODCOMPESTRUTURA&quot; nullParentValue=&quot;NULL&quot; uniqueMembers=&quot;true&quot;&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;Property column=&quot;DESIGESTRUTURA&quot; name=&quot;Designação&quot;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Level&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/Hierarchy&gt;<br>&nbsp;&nbsp;&nbsp; &lt;/Dimension&gt;<br>&nbsp;&nbsp;&nbsp; &lt;Measure column=&quot;PCHVP&quot; name=&quot;ChvP&quot; aggregator=&quot;sum&quot; formatString=&quot;###,##0&quot;/&gt;<br>
&nbsp;&nbsp;&nbsp; &lt;Measure column=&quot;PDESIGPRODUTO&quot; name=&quot;DesigProduto&quot; datatype=&quot;String&quot; aggregator=&quot;max&quot; formatString=&quot;###,##0&quot;/&gt;<br>&nbsp; &lt;/Cube&gt;<br>&lt;/Schema&gt;<br><br><br>
When i issue this query :<br>select {[Measures].[DesigProduto]} ON COLUMNS,<br>Hierarchize(Union({[Classificação.Total Classificação].[Total
Classificação]}, [Classificação.Total Classificação].[Total
Classificação].Children)) ON ROWS<br>from [5]<br><br>I obtain this exception :<br>&quot;<br>Cause:<br>class com.tonbeller.jpivot.olap.model.OlapException:mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while executing query [select {[Measures].[DesigProduto]} ON COLUMNS, Hierarchize(Union({[Classificação.Total Classificação].[Total Classificação]}, [Classificação.Total Classificação].[Total Classificação].Children)) ON ROWS from [5] ]<br>
<br>com.tonbeller.jpivot.mondrian.MondrianModel.getResult(MondrianModel.java:305)<br>com.tonbeller.jpivot.mondrian.MondrianModel.getCurrentMdx(MondrianModel.java:856)<br>pt.gedi.bi.services.rep.ad.Explorador_ServiceImpl.handleMondrianResult(Explorador_ServiceImpl.java:598)<br>
pt.gedi.bi.services.rep.ad.Explorador_ServiceImpl.getMondrianResult(Explorador_ServiceImpl.java:314)<br>pt.gedi.bi.control.actions.rep.ad.ExploradorCuboExtendedAction.getArealistHeaderConfig(ExploradorCuboExtendedAction.java:1456)<br>
sun.reflect.GeneratedMethodAccessor624.invoke(Unknown Source)<br>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br>java.lang.reflect.Method.invoke(Method.java:597)<br>pt.gedi.base.control.actions.BaseAction.processAskServer(BaseAction.java:2175)<br>
pt.gedi.base.control.actions.BaseAction.execute(BaseAction.java:1641)<br>...<br>Cause:<br>class mondrian.olap.MondrianException:Mondrian Error:Internal error: Error while executing query [select {[Measures].[DesigProduto]} ON COLUMNS, Hierarchize(Union({[Classificação.Total Classificação].[Total Classificação]}, [Classificação.Total Classificação].[Total Classificação].Children)) ON ROWS from [5] ]<br>
<br>mondrian.resource.MondrianResource$_Def0.ex(MondrianResource.java:755)<br>mondrian.olap.Util.newInternal(Util.java:1104)<br>mondrian.olap.Util.newError(Util.java:1120)<br>mondrian.rolap.RolapConnection.execute(RolapConnection.java:442)<br>
com.tonbeller.jpivot.mondrian.MondrianModel.getResult(MondrianModel.java:279)<br>com.tonbeller.jpivot.mondrian.MondrianModel.getCurrentMdx(MondrianModel.java:856)<br>pt.gedi.bi.services.rep.ad.Explorador_ServiceImpl.handleMondrianResult(Explorador_ServiceImpl.java:598)<br>
pt.gedi.bi.services.rep.ad.Explorador_ServiceImpl.getMondrianResult(Explorador_ServiceImpl.java:314)<br>pt.gedi.bi.control.actions.rep.ad.ExploradorCuboExtendedAction.getArealistHeaderConfig(ExploradorCuboExtendedAction.java:1456)<br>
sun.reflect.GeneratedMethodAccessor624.invoke(Unknown Source)<br>...<br>Cause:<br>class java.lang.ClassCastException:java.lang.String cannot be cast to java.lang.Double<br><br>mondrian.olap.fun.FunUtil.max(FunUtil.java:945)<br>
mondrian.rolap.RolapAggregator$4.aggregate(RolapAggregator.java:58)<br>mondrian.olap.fun.BuiltinFunTable$22$1.aggregateChildren(BuiltinFunTable.java:655)<br>mondrian.olap.fun.BuiltinFunTable$22$1$1.evaluate(BuiltinFunTable.java:630)<br>
mondrian.rolap.RolapEvaluator.evaluateCurrent(RolapEvaluator.java:494)<br>mondrian.calc.impl.ValueCalc.evaluate(ValueCalc.java:31)<br>mondrian.olap.fun.FunUtil.evaluateSet(FunUtil.java:1223)<br>mondrian.olap.fun.FunUtil.max(FunUtil.java:937)<br>
mondrian.rolap.RolapAggregator$4.aggregate(RolapAggregator.java:58)<br>mondrian.olap.fun.BuiltinFunTable$22$1.aggregateChildren(BuiltinFunTable.java:655)<br>...<br>&quot;<br clear="all"><br>Thank you in advance.<br><br>Best wishes,<br>
<br>-- <br>Eduardo Andrade<br><a href="mailto:eduardofandrade@gmail.com">eduardofandrade@gmail.com</a><br>
</div>