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

Michael Anstis michael.anstis at gmail.com
Mon Sep 12 07:22:28 EDT 2011


@john,

Merging cells should be supported in your spreadsheet program of choice (I
know Microsoft Excel and Open\Libre Office derivatives provide it).

2011/9/12 Swindells, Thomas <TSwindells at nds.com>

>  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:* rules-users-bounces at lists.jboss.org [mailto:
> rules-users-bounces at lists.jboss.org] *On Behalf Of *john at oa
> *Sent:* 12 September 2011 11:12
>
> *To:* rules-users at lists.jboss.org
> *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
>
> 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
> postmaster at nds.com 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
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20110912/e1133298/attachment.html 


More information about the rules-users mailing list