Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Severe
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: None
-
Labels:None
Description
The following MDX raises an Error:
with member [Measures].[USales] as '[Measures].[Unit
Sales]',
format_string =
iif([Measures].[Sales Count] > 100, "#.00 good","#.00
bad")
select {[Measures].[USales] , [Measures].[Store Cost],
[Measures].[Store Sales]} ON columns,
Crossjoin({[Promotion Media].[All Media].[Radio],
[Promotion Media].[All Media].[TV], [Promotion Media].
[All Media].[Sunday Paper], [Promotion Media].[All
Media].[Street Handout]}, [Product].[All Products].
[Drink].Children) ON rows
from [Sales]
where ([Time].[1997])
Java:
"with member [Measures].[USales] as '[Measures].[Unit
Sales]',"
+"format_string ="
+"iif([Measures].[Sales Count] > 100, \"#.00 good\",
\"#.00 bad\") "
+"select {[Measures].[USales] , [Measures].[Store
Cost], [Measures].[Store Sales]} ON columns,"
+" Crossjoin({[Promotion Media].[All Media].[Radio],
[Promotion Media].[All Media].[TV], [Promotion Media].
[All Media].[Sunday Paper], [Promotion Media].[All
Media].[Street Handout]}, [Product].[All Products].
[Drink].Children) ON rows"
+" from [Sales]"
+" where ([Time].[1997])"
the problem is triggered by the fact, that ([Measures].
[Sales Count] is used only within the "iif".
If it is added to the axis, the query works fine.
the call stack is:
mondrian.resource.ChainableRuntimeException: Internal
error: not found
at
mondrian.olap.MondrianResource.newInternal
(MondrianResource.java:42)
at
mondrian.rolap.agg.AggregationManager.getCellFromCac
he(AggregationManager.java:157)
at
mondrian.rolap.RolapAggregationManager.getCellFromC
ache(RolapAggregationManager.java:130)
at
mondrian.rolap.RolapResult$AggregatingCellReader.get
(RolapResult.java:295)
at
mondrian.rolap.RolapEvaluator.evaluateCurrent
(RolapEvaluator.java:166)
at
mondrian.rolap.RolapMember.evaluateScalar
(RolapMember.java:105)
at
mondrian.olap.fun.BuiltinFunTable$42.evaluate
(BuiltinFunTable.java:1492)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at mondrian.olap.ExpBase.evaluateScalar
(ExpBase.java:158)
at mondrian.olap.fun.FunUtil.getDoubleArg
(FunUtil.java:126)
at
mondrian.olap.fun.BuiltinFunTable$108.evaluate
(BuiltinFunTable.java:3461)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at mondrian.olap.fun.FunUtil.getArg
(FunUtil.java:53)
at mondrian.olap.fun.FunUtil.getArg
(FunUtil.java:44)
at mondrian.olap.fun.FunUtil.getBooleanArg
(FunUtil.java:94)
at
mondrian.olap.fun.BuiltinFunTable$75.evaluate
(BuiltinFunTable.java:2766)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at
mondrian.rolap.RolapEvaluator.getFormatString
(RolapEvaluator.java:227)
at mondrian.rolap.RolapEvaluator.getFormat
(RolapEvaluator.java:232)
at mondrian.rolap.RolapEvaluator.format
(RolapEvaluator.java:251)
at
mondrian.rolap.RolapCell.computeFormattedValue
(RolapResult.java:393)
at mondrian.rolap.RolapCell.<init>
(RolapResult.java:389)
at mondrian.rolap.RolapResult.getCell
(RolapResult.java:139)
at
com.tonbeller.jpivot.mondrian.MondrianResult.initData
(MondrianResult.java:106)
at
com.tonbeller.jpivot.mondrian.MondrianResult.executeQu
ery(MondrianResult.java:49)
at
com.tonbeller.jpivot.mondrian.MondrianModel.getResult
(MondrianModel.java:122)
at com.tonbeller.jpivot.mondrian.HHTest.main
(HHTest.java:167)
with member [Measures].[USales] as '[Measures].[Unit
Sales]',
format_string =
iif([Measures].[Sales Count] > 100, "#.00 good","#.00
bad")
select {[Measures].[USales] , [Measures].[Store Cost],
[Measures].[Store Sales]} ON columns,
Crossjoin({[Promotion Media].[All Media].[Radio],
[Promotion Media].[All Media].[TV], [Promotion Media].
[All Media].[Sunday Paper], [Promotion Media].[All
Media].[Street Handout]}, [Product].[All Products].
[Drink].Children) ON rows
from [Sales]
where ([Time].[1997])
Java:
"with member [Measures].[USales] as '[Measures].[Unit
Sales]',"
+"format_string ="
+"iif([Measures].[Sales Count] > 100, \"#.00 good\",
\"#.00 bad\") "
+"select {[Measures].[USales] , [Measures].[Store
Cost], [Measures].[Store Sales]} ON columns,"
+" Crossjoin({[Promotion Media].[All Media].[Radio],
[Promotion Media].[All Media].[TV], [Promotion Media].
[All Media].[Sunday Paper], [Promotion Media].[All
Media].[Street Handout]}, [Product].[All Products].
[Drink].Children) ON rows"
+" from [Sales]"
+" where ([Time].[1997])"
the problem is triggered by the fact, that ([Measures].
[Sales Count] is used only within the "iif".
If it is added to the axis, the query works fine.
the call stack is:
mondrian.resource.ChainableRuntimeException: Internal
error: not found
at
mondrian.olap.MondrianResource.newInternal
(MondrianResource.java:42)
at
mondrian.rolap.agg.AggregationManager.getCellFromCac
he(AggregationManager.java:157)
at
mondrian.rolap.RolapAggregationManager.getCellFromC
ache(RolapAggregationManager.java:130)
at
mondrian.rolap.RolapResult$AggregatingCellReader.get
(RolapResult.java:295)
at
mondrian.rolap.RolapEvaluator.evaluateCurrent
(RolapEvaluator.java:166)
at
mondrian.rolap.RolapMember.evaluateScalar
(RolapMember.java:105)
at
mondrian.olap.fun.BuiltinFunTable$42.evaluate
(BuiltinFunTable.java:1492)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at mondrian.olap.ExpBase.evaluateScalar
(ExpBase.java:158)
at mondrian.olap.fun.FunUtil.getDoubleArg
(FunUtil.java:126)
at
mondrian.olap.fun.BuiltinFunTable$108.evaluate
(BuiltinFunTable.java:3461)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at mondrian.olap.fun.FunUtil.getArg
(FunUtil.java:53)
at mondrian.olap.fun.FunUtil.getArg
(FunUtil.java:44)
at mondrian.olap.fun.FunUtil.getBooleanArg
(FunUtil.java:94)
at
mondrian.olap.fun.BuiltinFunTable$75.evaluate
(BuiltinFunTable.java:2766)
at mondrian.rolap.RolapEvaluator.xx
(RolapEvaluator.java:116)
at mondrian.olap.FunCall.evaluate
(FunCall.java:244)
at
mondrian.rolap.RolapEvaluator.getFormatString
(RolapEvaluator.java:227)
at mondrian.rolap.RolapEvaluator.getFormat
(RolapEvaluator.java:232)
at mondrian.rolap.RolapEvaluator.format
(RolapEvaluator.java:251)
at
mondrian.rolap.RolapCell.computeFormattedValue
(RolapResult.java:393)
at mondrian.rolap.RolapCell.<init>
(RolapResult.java:389)
at mondrian.rolap.RolapResult.getCell
(RolapResult.java:139)
at
com.tonbeller.jpivot.mondrian.MondrianResult.initData
(MondrianResult.java:106)
at
com.tonbeller.jpivot.mondrian.MondrianResult.executeQu
ery(MondrianResult.java:49)
at
com.tonbeller.jpivot.mondrian.MondrianModel.getResult
(MondrianModel.java:122)
at com.tonbeller.jpivot.mondrian.HHTest.main
(HHTest.java:167)
user_id=312935
Fixed in change 300.