(本文档仅供参考)
在升级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版本