だから私は既に.drlファイルで作成したルールからデシジョンテーブルを作成してみたいと思っていました。その後私はそれを.drlに戻したいと思っていました。 drlからxls/csvへのすばらしい変換は見られませんでした。また、jbossのドキュメントも十分に包括的でした。ルールは単純な決定表にとっては複雑すぎるかもしれないが、私はこのコミュニティが私を助けてくれることを望んでいた。ここでDroolデシジョンテーブルの作成
はDRLです:
rule "Patient: Compute BMI"
when
$basic : BasicInfoModel(
notPresent('bmi'),
isPresent('height'),
isPresent('weight'),
$height : value('height', 0.0),
$weight : value('weight', 0.0))
then
modify($basic){
put('bmi', $weight/Math.pow($height,2))
};
end
だから、このルールは、基本的には、オブジェクトの重さと高さフィールドを見て、その後、BMIを計算します。私は基本的に私が持っているものを取ってそれをデシジョン・テーブル・フォーマットに入れてみましたが、ほとんど成功しませんでした。何も実際には解析されません(私はdroolsSpreadSheet.compileを使用しています。空のルール全体です)。どんな助けもありがとう!
更新:
package DROOLS;
//generated from Decision Table
import basic.BasicInfoModel;
// rule values at A11, header at A6
rule "Computing BMI"
when
$patient:BasicInfoModel(notPresent('bmi'), isPresent('height'),isPresent('weight'), $height:value('height', 0.0), $weight:value('weight',0.0) == "20,4")
then
end
更新#2: This is what my excel sheet looks like これは私のルールを解析し何で私は私の解析の問題を考え出したと思います。 Here is my new and improved spreadsheet.、基本的に私はコンピューティングBMIを持つことができないことを発見しました。データが空白です。ルールの解析を行うためにそこに何かが存在しているに違いありません(読んだ文書では完全にはっきりしません。デシジョン・テーブルは初心者です)。
は、だから今、コンパイルがより多くの私が欲しいもののようになります。
// rule values at A11, header at A6
rule "Computing BMI"
when
$patient:BasicInfoModel(notPresent('bmi'), isPresent('height'), isPresent('weight') == "TRUE")
$weight:value('weight',0.0), $height:value('height', 0.0)
then
modify($patient){put('bmi', $weight/Math.pow($height,2))};
end
誰かが、私は彼らが解析するためには、ルールでは実際の、具体的なデータを持っている必要があることを確認することはできますか?私はちょうど注射を他の場所で使うことができますか?おそらく、私はこれについて新しい質問をするべきです。
DRLからコンパイルして実行するとき、このルールは正しく動作しますか? – laune
はい!したがって、さまざまなメソッドの束を持つオブジェクトがあります。そのうちの1つは、正しいキー、値のペアを内部に配置するハッシュマップです。 – Kevin
OK、これらの制約をデシジョン・テーブル・フォーマットに適合させようとしている間におそらく間違いました。あなたはcsvとしてxlsをエクスポートし、あなたの質問に編集することができます。 - しかし、私はどのように値を変更することができないので、異なるルールが作成されるので、意思決定表からどのように利益を上げるか分かりません。 – laune