Thank you billy,I know how to solve the problem, but there is another error.
error [Kylin][ODBC 1.0(w) Driver]The REST query request failed, the error message is: Error while executing SQL "SELECT SUM((CASE WHEN (( EXTRACT(YEAR FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") = 2017) AND ( EXTRACT(MONTH FROM "BASEINFO_REPAY_HIS_FACT_PARTATION"."CAL_DATE") = 6)) THEN "BASEINFO_REPAY_HIS_FACT_PARTATION"."REMAIN_CAPITAL_INTEREST" ELSE 0 END)) AS "sum_Calculation_FIIAIBABGCIFEFEJ_ok" FROM "TN_QUERY"."BASEINFO_REPAY_HIS_FACT_PARTATION" "BASEINFO_REPAY_HIS_FACT_PARTATION" LEFT JOIN "TN_QUERY"."DIM_BP_PRODUCT" "DIM_BP_PRODUCT" ON ("BASEINFO_REPAY_HIS_FACT_PARTATION"."PRODUCT_CODE" = "DIM_BP_PRODUCT"."PRODUCT_CODE") LEFT JOIN "TN_QUERY"."DIM_BP_SALES_CHANNEL" "DIM_BP_SALES_CHANNEL" ON ("BASEINFO_REPAY_HIS_FACT_PARTATION"."BUSINESS_TYPE" = "DIM_BP_SALES_CHANNEL"."CHANNEL_CODE") LEFT JOIN "TN_QUERY"."DIM_FUND_CHANNEL" "DIM_FUND_CHANNEL" ON ("BASEINFO_REPAY_HIS_FACT_PARTATION"."ROOT_CODE" = "DIM_FUND_CHANNEL"."FUND_CHANNEL_CODE") LEFT JOIN "TN_QUERY"."DIM_ORG" "DIM_ORG" ON ("BASEINFO_REPAY_HIS_FACT_PARTATION"."BRANCH_CODE" = "DIM_ORG"."BRANCH_CODE") ": Can't find any realization. Please confirm with providers. SQL digest: fact table TN_QUERY.BASEINFO_REPAY_HIS_FACT_PARTATION,group by [],filter on [],with aggregates[FunctionDesc [expression=SUM, parameter=null, returnType=null]]. It seems about "case when" but how to solve it? Thank you. ------------------ ???????? ------------------ ??????: "Billy Liu";<billy...@apache.org>; ????????: 2017??8??10??(??????) ????7:32 ??????: "dev"<dev@kylin.apache.org>; ????: Re: The REST query request failed This sql is not generated by kylin, Kylin does not generate any query. Kylin is read only OLAP system. Kylin accepts SQL and returns query result. Please try that SQL in Kylin insight tab directly, if not work, you could adjust the statement to figure out which one is the incompatible one. 2017-08-10 17:26 GMT+08:00 578300...@qq.com <believe...@foxmail.com>: > You mean that the tableau's calculation field query and kylin can not be > well fused? > Beacause the sql is automatically generated by kylin on the basis of > tableau's calculation field. > And the environment is: > jdk1.7.0_80 > hadoop-2.5.0-cdh5.3.9 > hbase-0.98.6-cdh5.3.9 > apache-kylin-1.6.0 > tableau 9 > > > ------------------ ???????? ------------------ > ??????: "Billy Liu";<billy...@apache.org>; > ????????: 2017??8??10??(??????) ????5:05 > ??????: "dev"<dev@kylin.apache.org>; > > ????: Re: The REST query request failed > > > > 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! > > > > > > > > >