2014-09-17 4 views
0

의사 결정 테이블에 누적 함수 조건을 작성하려고합니다. 의사 결정 테이블 작성 방법을 알려주세요.Drools의 누적 함수 작성 결정 테이블

내 축적 규칙 기능은

when 

$i : Double(doubleValue > 1000) from accumulate(Product($productQty:quantity),sum($productQty)) 

then 

System.out.println("The quantity is exceeded more than 1000 and the total value is " + $i); 

답변

1

당신은 열을

rows 
n  condition 
n+1 $i : Double() from accumulate(Product($productQty:quantity),sum($productQty)) 
n+2 doubleValue > $param 
n+3 add quantitities and check 
n+4 1000 

두 주석을 만들 수 있습니다.

  1. 누적 값의 범위가 다른지 확인하지 않는 한 의사 결정 테이블에는 적합하지 않습니다.
  2. double을 사용하는 이유는 무엇입니까? 축적 된 주식이 Integer.MAX_VALUE를 초과하면 놀랍습니다. 즉, 패턴에 Number을 사용하고 제약 조건에 intValue을 사용합니다.
+0

답장을 보내 주셔서 감사합니다. 나는 한 곳에 머물렀다. 만약 내가 조건 (예 : $ i : Number() from accumulate (ProductAgent : ProductAty, ProductB, ProductB)), sum ($ productQty))의 누적 값으로부터 합을 구하십시오. 조건 값은 규칙 행에서 가져옵니다. – Murali

+0

$ i : Number() from accumulate (Product ($ productQty : quantity, productName in ("$ 1", "$ 2"), sum ($ qty)))를 시도했습니다. 하지만 작동하지 않습니다. 제발 문제를 해결하는 데 도움이 – Murali

+0

내 대답 # 1 내 대답을 참조하십시오. 스프레드 시트 셀에서 삽입되는 조건 및 consrtaint 매개 변수와 함께 accumulate를 사용하는 것은 Drools 결정 테이블로 처리 할 수있는 것이 아닙니다. 기술 규칙을 사용하십시오. – laune