概要
ロジックルールを使用すると、ダイナミックテキスト属性や事前定義された定数に基づいてルールエンジンでロジックステートメントを作成し、日付、数字、貨幣価値などのフィールドを算術式を使用して比較できます。
ご存知ですか?
ロジックルールは、条件ビルダーでは「数値/日付の比較」と呼ばれます。

ユースケース
ソリューションでロジックルールを使用する方法の詳細な例を以下に示します:
期日に近いシャウトアウトをトリガーする
ロジックルールを使用して、期日の前日にシャウトアウトをトリガーして、ユーザーに期限が近づいていることを通知し、最後の努力を促すことができます。
そのためには、
- DueDateという属性を作成します。
- 以下のロジックルールを作成します - @DueDate - today <= 5days

コミットの値が合計の機会価値と等しいかどうかを確認します。
ロジックルールを使用し、数字を簡単に比較して、コミットの値が合計の機会価値と等しいかどうかを確認できます。
- 両方のフィールドのダイナミックテキスト属性を作成します - コミットと合計の機会
- 以下のロジックルールを作成します - @Commit != @TotalOpportunity!

ロジックルールの使用方法
- Rule Engineで、ドロップダウンリストからロジックルールを選択します。

- ハイライトされたフィールドにロジックステートメントを入力します。

ロジックステートメントの作成方法
ロジックルールは等式/不等式の形で書く必要があります。例えば、
- @Date1 - Today <10Days
- @Attribute1 + @Attribute2 == @Attribute3
ロジックルールの作成中、プレビューバーはその時のエディターに接続されたウェブページに表示される限り、ダイナミックフィールドに値を表示します。


動的テキスト属性の使用
- 属性を追加するには、@と入力し、ドロップダウンリストから属性を選択します。
- リストをフィルタリングするために属性名の入力を開始することができます。
- 属性を数多く追加することができます

- ロジックルールを使用する場合は、ルールエンジンから新しい属性を直接作成したり、既存の属性を管理したりすることもできます。

静的テキスト値での動的テキスト属性の使用
静的テキスト値を持つ属性は、ロジックルールで比較するために作成され、使用できます。
例:
@dateTestは日付を持つ画面上の要素であり、@absoluteDateは静的な日付の値です。
ビルダーは、画面上の動的な日付と、事前に定義された任意の日付とを比較できるようになりました。


注
- 大文字は定数に影響しません。
- 定数の次へ番号を入力することで、定数を乗算できます。
演算アクションと比較の使用
演算を使用して、属性の加減乗除ができます。 例:
@Att1/12
@Att2*Att3
@Att4+@Att5
@Date1-today
等式の両側を比較するには、以下の記号を使用します。
| 記号 |
意味 |
| == |
等しい |
| != |
等しくない |
| > |
より大きい |
| >= |
以上 |
| ? |
未満 |
| <= |
以下 |
技術的なノート
Logic Ruleによる日付の読み取り方法
WalkMeは、以下のアプリケーションで日付フォーマットを検出し、自動的に変換します。
- SAP Concur
- Microsoft Dynamics
- Salesforce Lightning
- 他のアプリケーションでは、WalkMeはブラウザのロケールで設定された日付形式を使用します
- ユーザーに表示される日付フォーマットがわかっている場合は、動的属性設定で設定してください - これにより、ブラウザのロケールが上書きされます。
サポートされている日付フォーマット
- 標準の数値日付形式がサポートされています
- 例:mm/dd/yyyyおよびmm.dd.yyyy
- サポートされているテキストベースの日付フォーマットは、次のとおりです。
- 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/November/2024、29/November/2024、29/November/2024、7/mar/1989、07/mar/2024、7/MARCH/2028
- 日付は、英語とその他の言語でサポートされます
- 別の言語で日付が正しく評価されない場合は、カスタマーサクセスマネージャーまたはWalkMeの担当者にお問い合わせください。

サポートされていない日付
- 日、月、年を画面上の個別の要素にスプリットする日付フィールドはサポートされていません。
- このフィールド構造は、Workday® やEncompass® など、どのアプリケーションでも表示される可能性があります
- サポートされている日付形式に記載されていないテキストベースの日付形式は、サポートされません。例:2021年12月2日
- Logic Ruleは、1970年1月1日以前の日付を評価できません。
数値とテキスト
- Logic Rule は、数値や日付のように数値として評価される値を比較します - 他のルールエンジン演算子とは異なり、テキスト文字列を比較しません
- 値がテキストと番号を混在させる場合、ロジックルールによって最初の番号が抽出され、テキストは無視されます。
- Logic Rule で正確に表現できる最大の番号は 9007199254740991 です - 大きい番号は16桁に四捨五入され、その後にゼロが続きます
- 例:123456789123456789123 は 123456789123456800000 になります。
属性と値
- Logic Ruleは、ルールに直接入力された事前定義された定数のみを受け入れます - 日付、番号、テキストなど他の値を使用するには、その値の属性を作成します。
- jQueryセレクターを動的属性として使用する場合は、親要素のいずれかではなく、テキストを直接保持する要素を選択します。
- アクションボットで保存されたデータは、Logic Ruleではサポートされていません - アクションボットは、データをスマートウォークスルーで使用するオブジェクトとして保存します。
トラブルシューティング
ロジックルールは、画面上の日付を「無効な日付」と表示します
- ロジックルールが画面上の日付に基づく属性を使用する場合、WalkMeはブラウザのロケールを使用してその日付を読み取ります。 サイトの日付形式がブラウザのロケールと一致しない場合、ロジックルールによって「無効な日付」と表示される場合があります。
- たとえば、サイトが en_IL ロケールを使用し、日付はDD/MM/YYとしてフォーマットされます。 ブラウザは en_US に設定されており、MM/DD/YY を想定します。 サイトに 23/2/22 と表示される場合、ロジックルールでは 23 が月として読み取られます。 23月はないため、日付は「無効な日付」と表示されます。
- サイトの日付形式がブラウザのロケールと一致する場合、ロジックルールにより日付が正しく読み取られます。 公開済み環境では、WalkMeは各ユーザーのブラウザロケールを使用して、画面上の日付を読み取ります。 たとえば、3/4/22はen_USロケールのユーザーでは3月4日として読み取られ、ヨーロッパロケールのユーザーでは4月3日として読み取られます。
- これを修正するには、動的属性設定で日付形式を設定し、サイト上の形式と一致するようにします。 これは、ブラウザのロケールを上書きします。
固定日付は、ユーザーによって異なる方法で評価されます
- 固定日付にテキストタイプの属性を使用すると、WalkMeはその日付を文字列として保存します。 その後、WalkMeは、ルールを評価するユーザーのブラウザロケールを使用して、その文字列を読み取ります。 それは、ルールエンジンのあなたと、公開済み環境の各ユーザーです。
- たとえば、3/4/22と入力し、ブラウザのロケールがen_USである場合、ルールエンジンでは3月4日として読み取られます。 ヨーロッパのロケールを使用しているユーザーの場合、同じ日付が 4 月 3 日として読み取られることがあり、その結果、誤った結果が発生する可能性があります。