ロジックルール
概要
ロジックルールでは、ダイナミックテキスト属性と事前定義済みの定数に基づいて、ルールエンジン内でロジックステートメントを作成することができます。 これにより、算術式を使用することで日付、数字、貨幣価値を含むフィールドを比較することができます。
ユースケース
- 日付の比較
- 貨幣価値の比較
ソリューションでロジックルールを使用する方法の詳細な例をご覧ください。
期日に近いシャウトアウトをトリガーする
ロジックルールを使用し、期日の前日にシャウトアウトをトリガーしてユーザーに期限が到着したことを通知し、最後の努力を促すことができます。
そのためには、
- DueDateという属性を作成します。
- 以下のロジックルールを作成します - @DueDate - today <= 5days
コミットの値が合計の機会価値と等しいかどうかを確認します。
ロジックルールを使用し、数字を簡単に比較して、コミットの値が合計の機会価値と等しいかどうかを確認することができます。
- 両方のフィールドのダイナミックテキスト属性を作成します - コミットと合計の機会
- 以下のロジックルールを作成します - @Commit != @TotalOpportunity
ロジックルールの使用方法
ロジックステートメントの作成方法
ロジックルールは等式/不等式の形で記述する必要があります。例えば、
- @Date1 - Today < 10Days
- @Attribute1 + @Attribute2 == @Attribute3
ロジックルールの作成中、プレビューバーはその時のエディタに接続されたウェブページに表示される限り、ダイナミックフィールドに値を表示します。
動的テキスト属性の使用
- 属性を追加するには、@と入力し、ドロップダウンリストから属性を選択します。
- リストをフィルタリングするために属性名の入力を開始することができます。
- 属性は数多く追加することができます。
- ロジックルールを使用する場合は、ルールエンジンから新しい属性を直接作成したり、既存の属性を管理したりすることもできます。
静的テキスト値での動的テキスト属性の使用
静的テキスト値を持つ属性は、ロジックルールで比較するために作成され、使用できます。
例:
@dateTestは日付を持つ画面上の要素であり、@absoluteDateは静的な日付の値です。
ビルダーは、画面上の動的な日付と、事前に定義された任意の日付とを比較できるようになりました。
事前定義済みの定数の使用
以下の定数のいずれかを入力するだけです。
定数 | 注意点 |
秒(second) | また、「秒(seconds)」を使用することもできます。 |
分 | また、「分(minutes)」を使用することもできます。 |
時間 | また、「時間(hours)」を使用することもできます。 |
日 | また、「日(days)」を使用することもできます。 |
年 | また、「年(years)」を使用することもできます。 |
今日 | 今日のダイナミック日付を返します(例:30/07/2020) |
今 | 今日のダイナミック日時を返します。(例:30/07/2020 18:30:45) |
演算と比較の使用
演算を使用して、属性の加減乗除ができます。 例:
@Att1/12
@Att2*Att3
@Att4+@Att5
@Date1-today
等式の両側を比較するには、以下の記号を使用します。
記号 | 意味 |
== | 等しい |
!= | 等しくない |
> | より大きい |
>= | 以上 |
未満 | |
<= | 以下 |
技術的なノート
- 標準日付形式がサポートされています(mm/dd/yy、mm.dd.yyなど)。
- テキスト形式の日付がサポートされています。
- dd-MMM-yyyy(例:12-AUG-2022)
- Month d, yyyy(例: January 21, 2022)
- Mth d, yyyy(例: Jan 21, 2022)
- d month yyyy(例:21 January 2022)
- 29/NOV/2024
- 29/Nov/2024
- 29/november/2024
- 29/November/2024
- 7/mar/1989
- 7/mar/2024
- 7/MARCH/2028
- テキストを含むその他の日付形式はサポートされていません(サポートされていない形式の例:Dec. 2, 2021)。 — テキスト形式は英語でのみ サポートされています
- 日付形式は、ブラウザのロケールから取得されます
- アプリケーションに独自のユーザー設定がある場合、アプリケーションの変数から直接値を取得します。 サポートされているアプリケーション:
- Salesforce
- SAP Concur
- Microsoft Dynamics
- ロジックルールは、テキストと数字の組み合わせである文字列に遭遇した場合、文字列から最初の数字を抽出します(ロジックルールがサポートしているのはテキストベースの日付のみで、テキストはサポートしていません。上記を参照してください)
- jQueryのセレクターをダイナミックアトリビューションとして使用する場合、その祖先要素ではなく、テキストを保持している直接の要素を選択しなければなりません
- Workday®の特定の日付フィールドは、3つの要素に分割されているためサポートされていません
- 定義された定数以外の値を、ロジックルールの行に直接入力することはできません。 属性を使用して、任意のタイプの値(日付、数字、テキスト)を入力します。
- アクションボットを使用して保存されたデータは、現在、ロジックルールではサポートされていません(スマートウォークスルーで使用されるオブジェクトの形式で保存されるため)。
- ロジックルールは、数字または数字として評価するものの比較にのみ使用されます。 他のルールエンジン演算子のように、静的文字列を比較するものではありません。 ロジックルール内で数字と文字が混在した文字列を評価しようとすると、数字がキャプチャされ、テキストは失われます
-
正確に表現できる最大の数は、9007199254740991です。 上記のすべての数字は、16桁の数字とゼロに「四捨五入」られます。
例:123456789123456789123は、123456789123456800に変換されます
トラブルシューティング
- OSEを使用する場合 -
- ウェブサイトの日付形式は、ビルダーのローカル(日付形式を意味する)と一致する必要があります。 そうでない場合、ロジックルールは「無効な日付」と表示する場合があります
- 例:イスラエルのサイトであるynetでは、en_ILローカルで日付が表示されます(形式はDD/MM/YYです。DとMの位置に注意してください)。 ビルダーとして、ロジックルールで画面上の要素に基づく属性を使用します。 ただし、私自身のブラウザはen_USに設定されています。 ローカルがUSであり、US形式(MM/DD/YY)を与えるはずであると仮定しているため、日付が「23/2/22」の場合、ロジックルールは「無効な日付」と表示します。 1年に23月がないことを考えると、エラーが表示されます。
- サイトの日付形式とビルダーのブラウザローカルの間にギャップがない場合は、問題なく表示されます。WMは(公開環境で)実行中にエンドユーザーのブラウザローカルをチェックし、日付の読み方を「理解」します
- 例:画面上の要素には「3/4/22」が保持されます。 これは3月ですか?4月ですか? WMは、エンドユーザーのブラウザローカルに基づいて、「決定」します。
- ウェブサイトの日付形式は、ビルダーのローカル(日付形式を意味する)と一致する必要があります。 そうでない場合、ロジックルールは「無効な日付」と表示する場合があります
- 固定日付/絶対日付(テキストタイプ属性)の使用 -
- WMは固定日付を固定文字列として保存します。 そして、 (ビルダー用のルールエンジンまたはエンドユーザー用の公開環境で)評価されると、WMはユーザーのブラウザローカルに従って文字列を読み込みます。
- 例:「3/4/22」と記述した場合、ビルダーのブラウザローカルがen_USであれば、WMはルールエンジンで3月としてルールを評価します。 ただし、エンドユーザーの場合、ローカルがヨーロッパであれば、4月として評価される場合があります。 これは計算間違いにつながる可能性があります
- 動画の作成方法
- WMは固定日付を固定文字列として保存します。 そして、 (ビルダー用のルールエンジンまたはエンドユーザー用の公開環境で)評価されると、WMはユーザーのブラウザローカルに従って文字列を読み込みます。