[rules-users] Simple aggregation problem

Raja Sekhar raja.amirapu at gmail.com
Mon Mar 3 06:43:38 EST 2014


Hi Davide,
I am trying to group by Hild. Here first i will get the hlld into id and
segregate the results by hild and sum the value t1
If you take an sql
select sum(t1),hlid from product group by hild
so i will get
if the data is
hlid t1
1    10
1    10
2   10
2   10
the result would be
hiid t1
1   20
2   20
Hope you understand what i am trying to do here

Regards,
Raja

Regards,
Raja



On 3 March 2014 17:05, Davide Sottara <dsotty at gmail.com> wrote:

>  Raja,
> it is not clear what you are trying to achieve.
>
> The rule might be well written or not, we don't know your requirements.
> If "id" is what it should be - an identifier - your accumulate constraint
> would match a single object for each Product (the original product itself),
> which looks suspicious.
>
> I'll assume that you are doing a performance test and you are not satisfied
> with the overall execution time.
> The question, however, is: how many facts are you inserting? Are you firing
> all rules after the insertion of each fact, or just once at the end?
> Last, but not least, which version are you using?
>
> Accumulate should be used carefully in combination with insertLogical,
> since the former updates its result every time its fact collection changes.
> The latter will generate a new fact, keep track of its dependencies,
> and replace it when the accumulation result itself changes.
>
> Of course, if you were inserting 100 facts, the numbers would raise
> a warning, but could be reasonable for several thousands, if not
> hundred thousands. Citing one of your previous emails:
> "I want to test my rules with 10,000 facts to 20,000,000 facts"
>
> Best
> Davide
>
>
>
> On 03/03/2014 12:10 PM, Raja Sekhar wrote:
>
> Hi,
> I am using the following rule
>  package com.demo;
> import com.sample.model.Product;
> import com.sample.model.Products;
> import java.util.List;
> import java.util.Set;
> dialect "mvel"
>
>  rule "Product_0"
> no-loop
> when
>  Product(id: hlId) accumulate (e :Product(hlId == id), $sum1 : sum(e.t1)
> )
> then
>  insertLogical("hid=" + id +",T1=" + $sum1);
> end
>
>  I am inserting facts (Product objects) into it and firing the rules.
> When i took performance stats from visual vm with JMX. got a time of
> 3832ms. I can you suggest if i am doing any thing wrong with this.
>
>  Regards,
> Raja Sekhar
>
>  --
> Raja Sekhar Amirapu
> ------------------------------------------------------
> "If any anyone can do it, i can do it. If no one else can do it, i must do
> it"
>
>
> _______________________________________________
> rules-users mailing listrules-users at lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
Raja Sekhar Amirapu
------------------------------------------------------
"If any anyone can do it, i can do it. If no one else can do it, i must do
it"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140303/75262eb7/attachment.html 


More information about the rules-users mailing list