[rules-users] Spreadsheet: Rule Compilation error (xxx) cannot be resolved: Keeping running total

john@oa john at openaspect.co.uk
Mon Sep 12 11:20:39 EDT 2011


 Great, tried that and it works.  Now I just need to get my head round how
to create rule-flows! so that I can have a chained version of rule-sets
being executed in order.  Agenda Groups or Rule Flow groups that is the
question, I better get reading : )

On 12/09/2011 12:14, Swindells, Thomas [via Drools] wrote:

 I’ve no idea why I said xml rather than drl – still too early in the
morning.****

** **

It should be there in the documentation, you use $1 and $2 (etc). But in
this case why do you want to it’s easier for people to insert the values
into two separate columns.****

** **

You want something like the following****

** **

NAME****

CONDITION****

CONDITION****

 ****

f : Fact****

 ****

value > $param****

Value <= $param****

Rule Name****

Payment More than****

Payment max****

rule****

1****

1500****

** **

This also has the benefit you can add catchall rules for the top and bottom
by leaving the appropriate column empty  - eg payment <= 0, or payment >
20000****

** **

Thomas****

** **

*From:* [hidden
email]<http://user/SendEmail.jtp?type=node&node=3329369&i=0>[mailto:[hidden
email] <http://user/SendEmail.jtp?type=node&node=3329369&i=1>] *On Behalf Of
*john at oa
*Sent:* 12 September 2011 11:12
*To:* [hidden email] <http://user/SendEmail.jtp?type=node&node=3329369&i=2>
*Subject:* Re: [rules-users] Spreadsheet: Rule Compilation error (xxx)
cannot be resolved: Keeping running total****

** **

Ah Okay,

That kind of makes sense, although I can't seem to find any documentation on
how to merge the condition column, i.e. to have to parameters in one
column:  Tried this to no avail (using the , as the implicit AND)****

Payment****

value > $param1, value <= $param2****

Payment In Range****

  0, 1500****

1500, 2000****

2000, 3000****

3000, 4000****

4000, 5000****

5000, 10000****

10000, 15000****

15000, 20000****

20000****

** **

On Mon, Sep 12, 2011 at 8:21 AM, Swindells, Thomas [via Drools] <[hidden
email] <http://user/SendEmail.jtp?type=node&node=3329292&i=0>> wrote:****

If you dump out the xml it converts the spreadsheet to you can see what the
resulting DRL is.****

Mantis is right in what the output is – if you don’t merge the condition
column you’ll get a drl as below (If there exists a Condition (c1) such that
its payment > $param(1) AND there exists a Condition (c2) such that its
payment <= $param(2).****

If you merge the condition column the constraints apply to the same
Condition object with the comma being the implicit and (if there exists a
Condition c1 such that its payment > $param(1) AND its payment <= $param(2).
****

 ****

Thomas****

 ****

*From:* [hidden
email]<http://user/SendEmail.jtp?type=node&node=3328970&i=0>[mailto:[hidden
email] <http://user/SendEmail.jtp?type=node&node=3328970&i=1>] *On Behalf Of
*john at oa
*Sent:* 09 September 2011 16:28
*To:* [hidden email] <http://user/SendEmail.jtp?type=node&node=3328970&i=2>
*Subject:* Re: [rules-users] Spreadsheet: Rule Compilation error (xxx)
cannot be resolved: Keeping running total****

 ****

Thanks Manstis

Actually I found that the issue was caused by me having incorrectly placed
the "RuleTable" statement in the spreadsheet, I believe the CONDITION's in
the columns are by default: AND joined.****

On Fri, Sep 9, 2011 at 3:57 PM, manstis [via Drools] <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3323194&i=0>>
wrote:****

Does your "Condition" span the two columns with the payment $param? e.g.

|             Condition              |
|-----------------+------------------|
|payment > $param | payment <= $param|
|-----------------+------------------|

Otherwise you are creating rules that check the following:-

when
Condition(payment > )
then
...

when
Condition(payment > 1000)
then
...

Whereas you really require:-

when
Condition(payment >0, payment <= 1000)
then
...

etc****

2011/9/9 john at oa <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3323110&i=0>
>****

Thanks Iaune

That is really helpful.  Yes, I need the ranges to be mutually exclusive,
what is the easiest way to do that?  Feel a bit cheeky asking another
question, but you seem to know what you are talking about! I have tried
adding two conditions to enforce the range, but that doesn't seem to work -
see below.  I still get multiple rules firing.  Also can you recommend any
good resources for learning all of this, apart from the online
documentation?  Would you know if any of the Drools books are any good?****

payment > $param****

payment <= $param****

Payment Greater Than****

Payment Less Than or Equal To****

 0****

0****

1500****

1500****

2000****

2000****

3000****

3000****

4000****










   ****

On Fri, Sep 9, 2011 at 2:22 PM, laune [via Drools] <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3323074&i=0>>
wrote:****

 The error you get is due to the second condition (application:
Application()) not being included in the generated rules. Empty cell means:
the column's snippet is not included in the rule.

Since you don't have a constraint for Application() you can employ a trick:
remove the column and prefix the text application: Application() to the text
in cell C7.

In Rule 1, do you really want to test whether a payment is not greater than
zero?

Do you realize that Rules 2 and 3 would both fire for certain payment
amounts?

You can update a String field. To concatenate, use
   x.setString( x.getString() + "whatever" );

-W****

On 9 September 2011 14:08, john at oa <[hidden
email]<http://user/SendEmail.jtp?type=node&node=3322896&i=0>>
wrote:****

 Guvnor: guvnor-5.2.0.Final-tomcat-6.0

Hi

I am a Drools Newbie and I have an integer field called score that I need to
add to when a rule matches in a spreadsheet decision table.  i.e. the score
field should hold a running total of all scores that are matched.  However,
I can't even update the field in the table.  I have attached the spreadsheet
for review.  In this spreadsheet I am simply trying to set the score, and
that is failing with:

DScoringTable] Rule Compilation error application cannot be resolved

My goal is to have different decision tables that will all need to update
the same score, and keep a running total of the total score.

Any help very much appreciated!  I hope that I am just missing something
obvious.
http://drools.46999.n3.nabble.com/file/n3322713/demo-score-sheet.xls
demo-score-sheet.xls<http://drools.46999.n3.nabble.com/file/n3322713/demo-score-sheet.xls%0Ademo-score-sheet.xls>

In future I may wish to also update a String field and keep concatenating to
that field, is this possible?

John****



--
View this message in context:
http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3322713.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
_______________________________________________
rules-users mailing list****

[hidden email] <http://user/SendEmail.jtp?type=node&node=3322896&i=1>****


https://lists.jboss.org/mailman/listinfo/rules-users****



_______________________________________________
rules-users mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=3322896&i=2> ****

https://lists.jboss.org/mailman/listinfo/rules-users****
 ------------------------------

*If you reply to this email, your message will be added to the discussion
below:*****

http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3322896.html
****

To unsubscribe from Spreadsheet: Rule Compilation error (xxx) cannot be
resolved: Keeping running total, click here. ****

  ****
  ------------------------------

View this message in context: Re: [rules-users] Spreadsheet: Rule
Compilation error (xxx) cannot be resolved: Keeping running
total<http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3323074.html>
****


Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html>at
Nabble.com.
****


_______________________________________________
rules-users mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=3323110&i=1>
https://lists.jboss.org/mailman/listinfo/rules-users****



_______________________________________________
rules-users mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=3323110&i=2>
https://lists.jboss.org/mailman/listinfo/rules-users****
 ------------------------------

*If you reply to this email, your message will be added to the discussion
below:*****

http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3323110.html
****

To unsubscribe from Spreadsheet: Rule Compilation error (xxx) cannot be
resolved: Keeping running total, click here. ****

 ****
 ------------------------------

View this message in context: Re: [rules-users] Spreadsheet: Rule
Compilation error (xxx) cannot be resolved: Keeping running
total<http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3323194.html>
Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html>at
Nabble.com.
****

** **
 ------------------------------


**************************************************************************************
This message is confidential and intended only for the addressee. If you
have received this message in error, please immediately notify the [hidden
email] <http://user/SendEmail.jtp?type=node&node=3328970&i=3> and delete it
from your system as well as any copies. The content of e-mails as well as
traffic data may be monitored by NDS for employment and security purposes.
To protect the environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18
4EX, United Kingdom. A company registered in England and Wales. Registered
no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************
****


_______________________________________________
rules-users mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=3328970&i=4>
https://lists.jboss.org/mailman/listinfo/rules-users

****
 ------------------------------

*If you reply to this email, your message will be added to the discussion
below:*

http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3328970.html
****

To unsubscribe from Spreadsheet: Rule Compilation error (xxx) cannot be
resolved: Keeping running total, click here. ****

** **
 ------------------------------

View this message in context: Re: [rules-users] Spreadsheet: Rule
Compilation error (xxx) cannot be resolved: Keeping running
total<http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3329292.html>
Sent from the Drools: User forum mailing list
archive<http://drools.46999.n3.nabble.com/Drools-User-forum-f47000.html>at
Nabble.com.
****

------------------------------

**************************************************************************************
This message is confidential and intended only for the addressee. If you
have received this message in error, please immediately notify the [hidden
email] <http://user/SendEmail.jtp?type=node&node=3329369&i=3> and delete it
from your system as well as any copies. The content of e-mails as well as
traffic data may be monitored by NDS for employment and security purposes.
To protect the environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18
4EX, United Kingdom. A company registered in England and Wales. Registered
no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************

_______________________________________________
rules-users mailing list
[hidden email] <http://user/SendEmail.jtp?type=node&node=3329369&i=4>
https://lists.jboss.org/mailman/listinfo/rules-users


------------------------------
 If you reply to this email, your message will be added to the discussion
below:
http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3329369.html
 To unsubscribe from Spreadsheet: Rule Compilation error (xxx) cannot be
resolved: Keeping running total, click
here<http://drools.46999.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=3322713&code=am9obkBvcGVuYXNwZWN0LmNvLnVrfDMzMjI3MTN8LTIwOTQyNzQ4ODU=>.


--
View this message in context: http://drools.46999.n3.nabble.com/Spreadsheet-Rule-Compilation-error-xxx-cannot-be-resolved-Keeping-running-total-tp3322713p3329909.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110912/e27a38c2/attachment.html 


More information about the rules-users mailing list