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)

Reply via email to