Hi Luke, thanks for you answer.
I don’t get the correct results. Example: ==================== || m1 || m2 || m1 * m2 || ----------------------------------- || 3 || 17 || 51 || || 4 || 24 || 96 || ==================== Result that I want: 3*17 + 4*24 = 51 + 96 = 147. Result I get with the expression sum(measure1) * sum(measure2): 3+4 * 17+24 = 7 * 41 = 287 . So, is it possible to add some logic to aggregate functions? Best regards, Sébastien > Am 04.09.2015 um 15:20 schrieb Luke Han <[email protected]>: > > try to use > SELECT column, sum(measure1) * sum(measure2) FROM facts GROUP BY column > SELECT column, sum(measure1) - sum(measure2) FROM facts GROUP BY column > > since there's only those two measures in cube. > > Thanks. > > > Best Regards! > --------------------- > > Luke Han > > On Fri, Sep 4, 2015 at 9:09 PM, Sébastien Jelsch <[email protected] >> wrote: > >> Hi community, >> >> are that kind of expressions possible in Kylin? >> >> SELECT column, sum(measure1 * measure2) FROM facts GROUP BY column >> SELECT column, sum(measure1 - measure2) FROM facts GROUP BY column >> >> While trying to execute I get this exception: >> null while executing SQL: SELECT column, sum(measure1 * measure2) FROM >> facts GROUP BY column >> >> Using Kylin 0.7.3 and cube created with measures sum(measure1) and >> sum(measure2). >> >> Thanks in advance, >> Sébastien >> >> -------------------------- >> Error Stack Trace: >> >> [http-bio-7070-exec-9]:[2015-09-04 >> 14:58:39,797][ERROR][org.apache.kylin.rest.controller.BasicController.handleError(BasicController.java:46)] >> - >> org.apache.kylin.rest.exception.InternalErrorException: null >> while executing SQL: "select "ORDERDATE“."YEAR", sum(FACTS.QUANTITY * >> FACTS.DISCOUNT) from "FACTS" join "ORDERDATE" on "FACTS"."ORDERDATE" = >> "ORDERDATE“."ID" where "ORDERDATE"."YEAR" = '1992' group by >> "ORDERDATE"."YEAR" LIMIT 50000" >> at >> org.apache.kylin.rest.controller.QueryController.doQueryInternal(QueryController.java:219) >> at >> org.apache.kylin.rest.controller.QueryController.doQuery(QueryController.java:165) >> at >> org.apache.kylin.rest.controller.QueryController.query(QueryController.java:87) >> at sun.reflect.GeneratedMethodAccessor138.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) >> at java.lang.reflect.Method.invoke(Method.java:606) >> at >> org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:213) >> at >> org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) >> at >> org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) >> at >> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) >> at >> org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) >> at >> org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) >> at >> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923) >> at >> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) >> at >> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) >> at >> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >> 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:150) >> at >> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) >> at >> org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.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(SecurityContextPersistenceFilter.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:346) >> at >> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) >> at >> org.apache.kylin.rest.filter.KylinApiFilter.doFilterInternal(KylinApiFilter.java:66) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) >> 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:195) >> at >> com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:266) >> 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:504) >> at >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) >> at >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) >> at >> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) >> at >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) >> at >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421) >> at >> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074) >> at >> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) >> at >> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:314) >> 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)
