44.3. RuleSet 定義または RuleTable 定義におけるその他のルール属性

RuleSet 領域および RuleTable 領域は、PRIORITYNO-LOOP などのラベルおよび値もサポートします。RuleSet 領域に指定したルール属性は、(そのスプレッドシートだけでなく) 同じパッケージにあるすべてのルールアセットに影響します。RuleTable 領域に指定したルール属性は、そのルールテーブル内のルールにのみ影響します。各ルール属性は、RuleSet 領域で一度、RuleTable 領域で一度使用できます。同じ属性を、スプレッドシートの RuleSet 領域および RuleTable 領域の両方で使用した場合は、RuleTable が優先され、RuleSet 領域の属性が上書きされます。

以下の表は、その他の RuleSet 定義または RuleTable 定義でサポートされるラベル (列ヘッダー) および値を示します。列ヘッダーには、指定のラベル、またはこの表に記載されている文字で始まるカスタムラベルのいずれかを使用できます。

表44.3 RuleSet 定義または RuleTable 定義におけるその他のルール属性

ラベルまたはカスタムラベルの頭文字

PRIORITY

P

ルールの優先順位 (salience) の値を定義する整数。顕著性の値が高いルールは、アクティベーションキューの順番で、優先度が高くなります。これは、Sequential フラグで上書きされます。

例: PRIORITY 10

DATE-EFFECTIVE

V

日付定義および時間定義を含む文字列。現在の日時が DATE-EFFECTIVE 属性よりも後の場合は、このルールがアクティブになります。

例: DATE-EFFECTIVE "4-Sep-2018"

DATE-EXPIRES

Z

日付定義および時間定義を含む文字列。現在日時が DATE-EXPIRES 属性よりも後になると、このルールをアクティブにすることはできません。

例: DATE-EXPIRES "4-Oct-2018"

NO-LOOP

U

ブール値。このオプションを true に設定すると、以前一致した条件がこのルールにより再トリガーとなる場合に、このルールを再度アクティブにする (ループする) ことができません 。

例: NO-LOOP true

AGENDA-GROUP

G

ルールを割り当てるアジェンダグループを指定する文字列。アジェンダグループを使用すると、アジェンダをパーティションで区切り、ルールのグループに対する実行をさらに制御できます。フォーカスを取得したアジェンダグループのルールだけがアクティブになります。

例: AGENDA-GROUP "GroupName"

ACTIVATION-GROUP

X

ルールを割り当てるアクティベーション (または XOR) グループを指定する文字列。アクティベーショングループでは、1 つのルールのみをアクティブ化できます。最初のルールが実行すると、アクティベーショングループの中で、アクティベーションが保留中のルールはすべてキャンセルされます。

例: ACTIVATION-GROUP "GroupName"

DURATION

D

ルールの条件が一致している場合に、ルールがアクティブになってからの時間をミリ秒で定義する長整数値。

例: DURATION 10000

TIMER

T

ルールのスケジュールに対する int (間隔) または cron タイマー定義を指定する文字列。

例: TIMER "*/5 * * * *" (5 分ごと)

CALENDAR

E

ルールのスケジュールを指定する Quartz カレンダーの定義。

例: CALENDAR "* * 0-7,18-23 ?* *" (営業時間外を除く)

AUTO-FOCUS

F

アジェンダグループ内のルールにのみ適用可能なブール値。このオプションが true に設定されている場合は、次にルールがアクティブになったときに、そのルールが割り当てられたアジェンダグループにフォーカスが自動的に指定されます。

例: AUTO-FOCUS true

LOCK-ON-ACTIVE

L

ルールフローグループまたはアジェンダグループ内のルールにのみ適用可能なブール値。このオプションを true に設定すると、次回、ルールのルールフローグループがアクティブになるか、ルールのアジェンダグループがフォーカスを受けると、(ルールフローグループがアクティブでなくなるか、アジェンダグループがフォーカスを失うまで) ルールをアクティブにすることができません。これは、no-loop 属性を強力にしたものです。なぜなら、一致するルールのアクティベーションが、(ルールそのものによるものだけでなく) 更新元にかかわらず破棄されるためです。この属性は、ファクトを修正するルールが多数あり、ルールの再一致と再発行を希望しない計算ルールに適しています。

例: LOCK-ON-ACTIVE true

RULEFLOW-GROUP

R

ルールフローグループを指定する文字列。ルールフローグループで、関連するルールフローによってそのグループがアクティブになった場合に限りルールを発行できます。

例: RULEFLOW-GROUP "GroupName"

図44.2 属性列が含まれるデシジョンテーブルのサンプルスプレッドシート

Example decision table with definitions used