The error is clear, some sql grammar did not work in your case, such as "{d '2017-06-30'))}"
2017-08-10 15:58 GMT+08:00 578300...@qq.com <believe...@foxmail.com>: > Oh,I see. > I will redescribe with word. > > > I created a calculated field in tableau to judge the date(统计日期) is or not > the last month of last year: > YEAR([统计日期])=YEAR(DATEADD('year',-1,[截止日期])) and MONTH([统计日期])=12 > > > > when I use the calculated field ,there is an error in kylin.log: > 2017-08-10 15:44:27,279 ERROR [http-bio-7070-exec-2] > controller.BasicController:44 : > org.apache.kylin.rest.exception.InternalErrorException: Encountered ")" > at line 1, column 154. Was expecting: "}" ... > at org.apache.kylin.rest.service.QueryService.doQueryWithCache( > QueryService.java:391) > at org.apache.kylin.rest.controller.QueryController. > query(QueryController.java:69) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:57) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at org.springframework.web.method.support.InvocableHandlerMethod. > doInvoke(InvocableHandlerMethod.java:221) > at org.springframework.web.method.support.InvocableHandlerMethod. > invokeForRequest(InvocableHandlerMethod.java:136) > at org.springframework.web.servlet.mvc.method.annotation. > ServletInvocableHandlerMethod.invokeAndHandle( > ServletInvocableHandlerMethod.java:104) > at org.springframework.web.servlet.mvc.method.annotation. > RequestMappingHandlerAdapter.invokeHandleMethod( > RequestMappingHandlerAdapter.java:743) > at org.springframework.web.servlet.mvc.method.annotation. > RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter. > java:672) > at org.springframework.web.servlet.mvc.method. > AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82) > at org.springframework.web.servlet.DispatcherServlet. > doDispatch(DispatcherServlet.java:933) > at org.springframework.web.servlet.DispatcherServlet. > doService(DispatcherServlet.java:867) > at org.springframework.web.servlet.FrameworkServlet. > processRequest(FrameworkServlet.java:951) > at org.springframework.web.servlet.FrameworkServlet. > doPost(FrameworkServlet.java:853) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) > at org.springframework.web.servlet.FrameworkServlet. > service(FrameworkServlet.java:827) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:303) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.tomcat.websocket.server.WsFilter.doFilter( > WsFilter.java:52) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:330) > at org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) > at org.springframework.security.web.access.intercept. > FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.access. > ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.session. > SessionManagementFilter.doFilter(SessionManagementFilter.java:103) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication. > AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter. > java:113) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.servletapi. > SecurityContextHolderAwareRequestFilter.doFilter( > SecurityContextHolderAwareRequestFilter.java:54) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.savedrequest. > RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication.www. > BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication.ui. > DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilt > er.java:91) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication. > AbstractAuthenticationProcessingFilter.doFilter( > AbstractAuthenticationProcessingFilter.java:183) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.authentication.logout. > LogoutFilter.doFilter(LogoutFilter.java:105) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.context. > SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilt > er.java:87) > at org.springframework.security.web.FilterChainProxy$ > VirtualFilterChain.doFilter(FilterChainProxy.java:342) > at org.springframework.security.web.FilterChainProxy. > doFilterInternal(FilterChainProxy.java:192) > at org.springframework.security.web.FilterChainProxy.doFilter( > FilterChainProxy.java:160) > at org.springframework.web.filter.DelegatingFilterProxy. > invokeDelegate(DelegatingFilterProxy.java:343) > at org.springframework.web.filter.DelegatingFilterProxy.doFilter( > DelegatingFilterProxy.java:260) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at com.thetransactioncompany.cors.CORSFilter.doFilter( > CORSFilter.java:209) > at com.thetransactioncompany.cors.CORSFilter.doFilter( > CORSFilter.java:244) > at org.apache.catalina.core.ApplicationFilterChain. > internalDoFilter(ApplicationFilterChain.java:241) > at org.apache.catalina.core.ApplicationFilterChain.doFilter( > ApplicationFilterChain.java:208) > at org.apache.catalina.core.StandardWrapperValve.invoke( > StandardWrapperValve.java:220) > at org.apache.catalina.core.StandardContextValve.invoke( > StandardContextValve.java:122) > at org.apache.catalina.authenticator.AuthenticatorBase.invoke( > AuthenticatorBase.java:505) > at org.apache.catalina.core.StandardHostValve.invoke( > StandardHostValve.java:169) > at org.apache.catalina.valves.ErrorReportValve.invoke( > ErrorReportValve.java:103) > at org.apache.catalina.valves.AccessLogValve.invoke( > AccessLogValve.java:956) > at org.apache.catalina.core.StandardEngineValve.invoke( > StandardEngineValve.java:116) > at org.apache.catalina.connector.CoyoteAdapter.service( > CoyoteAdapter.java:436) > at org.apache.coyote.http11.AbstractHttp11Processor.process( > AbstractHttp11Processor.java:1078) > at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler. > process(AbstractProtocol.java:625) > at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor. > run(JIoEndpoint.java:316) > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1145) > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:615) > at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run( > TaskThread.java:61) > at java.lang.Thread.run(Thread.java:745) > > > > > > > > and in kylin.log,the sql is: > SELECT (CASE WHEN (( EXTRACT(YEAR FROM > "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = EXTRACT(YEAR FROM TIMESTAMPADD(SQL_TSI_YEAR,-1,{d '2017-06-30'))}) > AND ( EXTRACT(MONTH FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = 12)) THEN 1 WHEN NOT (( EXTRACT(YEAR FROM > "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = EXTRACT(YEAR FROM TIMESTAMPADD(SQL_TSI_YEAR,-1,{d '2017-06-30'))}) > AND ( EXTRACT(MONTH FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = 12)) THEN 0 ELSE NULL END) AS "Calculation_FJFAIBABFECFFCFC" FROM > "TN_QUERY"."BASEINFO_REPAY_HIS_FACT_PARTATION" > "BASEINFO_REPAY_HIS_FACT_PARTATION" > GROUP BY (CASE WHEN (( EXTRACT(YEAR FROM > "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = EXTRACT(YEAR FROM TIMESTAMPADD(SQL_TSI_YEAR,-1,{d '2017-06-30'))}) > AND ( EXTRACT(MONTH FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = 12)) THEN 1 WHEN NOT (( EXTRACT(YEAR FROM > "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = EXTRACT(YEAR FROM TIMESTAMPADD(SQL_TSI_YEAR,-1,{d '2017-06-30'))}) > AND ( EXTRACT(MONTH FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") > = 12)) THEN 0 ELSE NULL END) > > > > > The sql generated Automatically. > Thank you! > > > > > > > ------------------ 原始邮件 ------------------ > 发件人: "Billy Liu";<billy...@apache.org>; > 发送时间: 2017年8月10日(星期四) 下午3:20 > 收件人: "dev"<dev@kylin.apache.org>; > > 主题: Re: The REST query request failed > > > > Attachment is not allowed in the mailer, you could upload the images to > some public image services. > > 2017-08-09 19:21 GMT+08:00 578300...@qq.com <believe...@foxmail.com>: > > > > > The picture may not show up, I put them in the attachment.Thank you! > > > > ------------------ 原始邮件 ------------------ > > *发件人:* "578300...@qq.com";<believe...@foxmail.com>; > > *发送时间:* 2017年8月9日(星期三) 晚上6:08 > > *收件人:* "dev"<dev@kylin.apache.org>; > > *主题:* The REST query request failed > > > > Hello! > > when I use tableau to connect to kylin,some error arised. > > > > I created a calculated field in tableau > > > > > > and in kylin.log,the sql is: > > > > > > How is this caused and how can I solve it. Thank you very much! > > > > >