页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题:

在升级smartbi之后,原本正常仪表盘打开报错

8-25 12:06:14 ERROR exceptionToNode(smartbi.framework.rmi.RMIServlet:312) - AugmentedDataSetForVModule.getPreviewDataSetData error.
smartbi.SmartbiException: 查询失败:errorMessageMondrian Error: CalcMember '数量' has bad formula!
errorStackTrace=mondrian.olap.MondrianException: Mondrian Error: CalcMember '数量' has bad formula!
	at mondrian.olap.Query$QuerySchemaReader.lookupCompoundInternal(Query.java:1719)
	at mondrian.olap.DelegatingSchemaReader.lookupCompound(DelegatingSchemaReader.java:137)
	at mondrian.olap.Query$QuerySchemaReader.lookupCompoundInternal(Query.java:1673)
	at mondrian.olap.DelegatingSchemaReader.lookupCompound(DelegatingSchemaReader.java:137)
	at mondrian.olap.DelegatingSchemaReader.lookupCompoundInternal(DelegatingSchemaReader.java:153)
	at mondrian.olap.Query$ScopedSchemaReader.lookupCompoundInternal(Query.java:1934)
	at mondrian.olap.DelegatingSchemaReader.lookupCompound(DelegatingSchemaReader.java:137)
	at mondrian.olap.DelegatingSchemaReader.lookupCompound(DelegatingSchemaReader.java:117)
	at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at mondrian.rolap.RolapUtil$2.invoke(RolapUtil.java:111)
	at com.sun.proxy.$Proxy78.lookupCompound(Unknown Source)
	at mondrian.olap.Util.lookup(Util.java:1076)
	at mondrian.olap.Id.accept(Id.java:112)
	at mondrian.olap.ValidatorImpl.validate(ValidatorImpl.java:83)
	at mondrian.olap.fun.FunUtil.resolveFunArgs(FunUtil.java:1591)
	at mondrian.mdx.UnresolvedFunCall.accept(UnresolvedFunCall.java:103)
	at mondrian.olap.ValidatorImpl.validate(ValidatorImpl.java:83)
	at mondrian.olap.fun.FunUtil.resolveFunArgs(FunUtil.java:1591)
	at mondrian.mdx.UnresolvedFunCall.accept(UnresolvedFunCall.java:103)
	at mondrian.olap.ValidatorImpl.validate(ValidatorImpl.java:83)
	at mondrian.olap.fun.FunUtil.resolveFunArgs(FunUtil.java:1591)
	at mondrian.mdx.UnresolvedFunCall.accept(UnresolvedFunCall.java:103)
	at mondrian.olap.ValidatorImpl.validate(ValidatorImpl.java:83)
	at mondrian.olap.QueryAxis.resolve(QueryAxis.java:229)
	at mondrian.olap.ValidatorImpl.validate(ValidatorImpl.java:144)
	at mondrian.olap.Query.resolve(Query.java:599)
	at mondrian.olap.Query.resolve(Query.java:486)
	at mondrian.olap.Query.<init>(Query.java:210)
	at mondrian.olap.Query.<init>(Query.java:171)
	at mondrian.olap.Parser$FactoryImpl.makeQuery(Parser.java:927)
	at mondrian.parser.MdxParserImpl.selectStatement(MdxParserImpl.java:1265)
	at mondrian.parser.MdxParserImpl.statement(MdxParserImpl.java:1097)
	at mondrian.parser.MdxParserImpl.statementEof(MdxParserImpl.java:188)
	at mondrian.parser.JavaccParserValidatorImpl.parseInternal(JavaccParserValidatorImpl.java:57)
	at mondrian.olap.ConnectionBase.parseStatement(ConnectionBase.java:98)
	at mondrian.olap4j.MondrianOlap4jStatement$1.execute(MondrianOlap4jStatement.java:363)
	at mondrian.olap4j.MondrianOlap4jStatement$1.execute(MondrianOlap4jStatement.java:359)
	at mondrian.server.Locus.execute(Locus.java:90)
	at mondrian.server.Locus.execute(Locus.java:75)
	at mondrian.olap4j.MondrianOlap4jStatement.parseQuery(MondrianOlap4jStatement.java:356)
	at mondrian.olap4j.MondrianOlap4jPreparedStatement.<init>(MondrianOlap4jPreparedStatement.java:64)
	at mondrian.olap4j.FactoryJdbc4Plus$AbstractPreparedStatement.<init>(FactoryJdbc4Plus.java:682)
	at mondrian.olap4j.FactoryJdbc41Impl$MondrianOlap4jPreparedStatementJdbc41.<init>(FactoryJdbc41Impl.java:188)
	at mondrian.olap4j.FactoryJdbc41Impl.newPreparedStatement(FactoryJdbc41Impl.java:70)
	at mondrian.olap4j.MondrianOlap4jConnection.prepareOlapStatement(MondrianOlap4jConnection.java:506)
	at mondrian.xmla.SmartbiQueryServlet.doPost(SmartbiQueryServlet.java:464)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:681)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:889)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

解决方案:

      该报错是因为smartbi的版本与olap引擎版本不匹配出现的报错,需要将olap引擎也更新到与smartbi一样的版本

      注:版本确认如下

      (1)smartbi版本:用户右上角-关于

      (2)OLAP引擎版本:

        方式一:管理员右上角,【系统监控-olap服务器-概述-Build Time】确认版本

       方式二:通过【系统运维-系统选项-高级设置-数据模型引擎】确认链接的olap服务器地址

     将地址 http://ip:port/smartbiolap/smartbiquery 修改为 http://ip:port/smartbiolap/manager ,通过右上角确认olap版本



  • 无标签