Loading
メールアドレスがデフォルトのログイン方式となります 続きを読む
OmniScript での数式または集計の作成

OmniScript での数式または集計の作成

数式要素または集計要素を使用して、計算値を設定し、複数の項目のデータを評価するための式を作成します。たとえば、対象ライフイベントの情報を受け入れる場合、対象ライフイベントに入力された日付が今日の日付から 30 日以内かどうかを判断する数式を作成できます。

数式要素と集計要素では、次の定数と種別がサポートされます。

  • OmniScript 要素と JSON ノード。差し込み項目として渡されます (%Element1% や %JSONnode1% など)。

  • 数値と整数 (5 + 3.145 など)

  • 引用符で囲まれた文字列リテラル (「ABC」+「DEF」など)

  • Boolean — true || false など

  • 配列 — "[1,2, 3, 4, 5]" など)

  • 日付 — 2/3/24 など

    データ型が Date の数式は、Day.js ライブラリを使用して日付形式に従って解釈されます。日付が解釈されないようにするには、[データ型] を [テキスト] に設定します。

  • Null

これらの要素は OmniScript でも同様に動作します。ただし、集計要素は、要素の平均化や集計などの集計目的で使用する必要があります。数式要素では、 Supported Formula Operators と Omniscript Functions の両方を使用できます。たとえば、日付要素に 365 日を追加して契約終了日を決定することができます。これは、次の数式の例を使用して実行できます。

example
example

DATE(YEAR(%DateElement%), MONTH(%DateElement%), DAYOFMONTH(%DateElement%) +365)

今日の日付から 1 週間後の日付を設定するには、次の数式の例を使用します。

example
example

DATE(YEAR(TODAY()), MONTH(TODAY()), DAYOFMONTH(TODAY()) +7)

  1. 要素パネルから、[数式] 要素または [集計] 要素をスクリプト構造にドラッグします。
  2. プロパティパネルの [式] で、関数名をクリックして OmniScript 関数を追加します。
    この関数は、[式] セクションで事前入力されます。関数内に OmniScript 要素を追加するには、要素をパーセント記号 (%) で囲み、差し込み項目を使用します。
  3. この要素を繰り返し可能ブロックで使用する場合は、「繰り返し可能ブロックでの要素の評価」を参照してください。
  4. 数式要素を使用している場合は、引き続き [式] テキストボックスの [サポートされている数式演算子] サポートされる数式演算子を使用して数式を作成します。
  5. OmniScript UI に要素を表示しない場合は、[非表示] をクリックします。
  6. 数式の結果に応じて追加の要素を作成します。
    「条件付きビュープロパティを使用した動的フォームの作成」および「OmniScript での表示メッセージング」を参照してください。
  7. 数式または集計をテストするには、[プレビュー] をクリックします。

サポートされる数式演算子

OmniScript の数式項目では、次の演算子がサポートされています。

演算子

意味

+

Addition (追加)

-

減算

*

乗算

/

除算

^

パワー

=

次の文字列と一致する

<>

Not equals

>

Greater than

<

Less than

>=

>=

<=

<=

&&

および

||

または

( )

括弧

OmniScript でサポートされる関数についての詳細は、「Create a Formula or Aggregate in an Omniscript (OmniScript での数式または集計の作成)」を参照してください。OmniScript への数式項目の追加についての詳細は、「Create a Formula or Aggregate in an OmniScript (OmniScript での数式または集計の作成)」を参照してください。

OmniScript 関数

OmniScript の集計要素と数式要素に関数を追加できます。

OmniStudio データマッパーと Integration Procedure の関数のリストについては、「サポートされるデータマッパーと Integration Procedure の関数」を参照してください。

[数式] 要素で使用できるサポートされている数式演算子のリストについては、「Create a Formula or Aggregate in an OmniScript (OmniScript での数式または集計の作成)」を参照してください。

次の表に、使用可能なさまざまな OmniScript 関数とそのしくみを示します。

関数名

例

詳細

ABS(number)

ABS(%Friends%) == 6.52534

絶対値を返します。

BOOLEAN(値)

 

true または false を返します。

CURRENCY(値)

 

通貨で書式設定された値を返します。12345 は 12,345.00 と表示されます。 1.2345 などの小数部を追加すると、デフォルトで項目に 1.23 の値と小数点 2 桁が表示されます。すべての小数値を表示する必要がある場合は、[マスク] 項目に値を追加します。この例では、Mask フィールドの値 #.#### に 4 つのすべての 10 進値が表示されます。

INTEGER(値)

INTEGER(%Friends%) == 6

INTEGER("12.5") == 12

指定された数値を小数点以下の桁数のない整数に変換します。数値は切り上げられません。文字列も受け入れます。

NULL

 

オブジェクトの値を null で表示します。

NUMBER(値)

NUMBER(%Friends%) == 128

文字列を数値に変換します。

POW(数値、指数)

POW(%Friends%, 3) == 274.625

指数値を返します。

RANDOM()

RANDOM()

0 から 1 までの乱数を返します。この関数は、A/B テストでよく使用されます。RANDOM() 関数はパラメーターを受け付けません。

ROUND(数値、小数点以下)

ROUND(%Friends%, 3) == 6.525

数値を特定の定義された小数点以下の桁数に丸めます。

関数名

例

詳細

AND();

IF(((%reset%="Yes" AND( %reboot%="Yes")), "Closed", "Escalated")

両方の条件を満たした場合に関数を実行する論理演算子。

COUNTIF(values, expression_or_value)

COUNTIF(%MyArray%, >10)

条件を満たした場合に繰り返される要素数を返します。

EQUALS( Field_Name, 'Condition')

IF(

次の文字列と一致する(%Department%,'401(k)'),

"Then Result",

「その他の結果」

)

EQUALS 関数は、項目を特定の値または別の項目と比較するときに使用します。

IF(EXPRESSION,THEN, ELSE)

IF(((%reset%="Yes" || %reboot%="Yes"), "Closed", "Escalated")

EXPRESSION が True に評価された場合は THEN が返され、それ以外の場合は ELSE が返されます。

OR()

IF(((%reset%="Yes" OR( %reboot%="Yes")), "Closed", "Escalated")

 

SUMIF(values, expression_or_value)

SUMIF(%MyArray%, >5)

条件を満たした場合、すべてのカンマ区切り要素と値の合計を返します。

関数名

例

詳細

CASE(値, $CASE)

CASE(%Name%, UPPER) == "TONY JONES"

CASE(%Name%, LOWER) == "tony jones"

CASE(%Name%, SENTENCE) == "Tony jones"

CASE(%Name%,title) == "Tony Jones"

$CASE 種別に基づいてケースを変更します。$CASE は LOWER、UPPER、SENTENCE、TITLE のいずれかである必要があります。

CONCATENATE(value1, value2, ..., valueN)

CONCATENATE(%FirstName%, " ", %LastName%) == "Tony Jones"

要素/文字列を 1 つの文字列に連結します。

CONTAINS(input_string,value)

CONTAINS(%FirstName%, "Tony") == True

値が文字列に含まれているかどうかを評価します。

SPLIT(text, splitToken, limit);

SPLIT("Tony Jones", " ", 2) == "Tony", "Jones"

 

STRING(値)

STRING(%Friends%) == "6.5"

任意の値を文字列に変換します。

SUBSTRING(text, startIndex, endIndex)

SUBSTRING("Substring!, 3, 9) == "string"

指定された 2 つのインデックス間の文字列から文字を抽出し、値を返します。

関数名

例

詳細

AGE(dateOfBirth)

AGE(%Birthdate%) == 7

指定された誕生日が今日の日付である年齢 (年) を返します。日付要素を使用します。

AGEON(dateOfBirth, futureDate)

AGEON(%Birthdate%,"07-09-2024") == 16

将来の日付に特定の誕生日があるユーザーの年齢 (年)。日付要素を使用します。

DATE(値)

DATE(%DOB%) == 1978 年 7 月 19 日 16 時 00 分 GMT-0700 (PDT)

日付要素を使用します。完全な JavaScript 形式を返します。

DATEDIFF(date1, date2)

DATEDIFF(%DOB%,%TODAY%) == 13559

2 つの日付の差 (日数)。値は常に正の整数になります。日付要素を使用します。

DAYOFMONTH(date)

DAYOFMONTH(%TODAY%) == 2

日付を返します。日付要素を使用します。

DAYOFWEEK(date)

DAYOFWEEK(%TODAY%) == 4

曜日を整数として返します。月曜日は 1、日曜日は 7 です。

HOUR(日付)

 

ローカル時間に従って現在の時間を返します。

MINUTE(date)

 

ローカル時間に従って現在の分を返します。

MOMENT()

MOMENT(%policyStartDate%).add(1, 'year').subtract(1, 'day')

Moment.js の moment オブジェクトを返します。

これを使用して、複雑な日付書式設定、計算、操作、比較などを実行できますMOMENT() 関数には、MOMENT(NOW()) などのパラメーターを含める必要があります。この関数に .calendar() を追加することをお勧めします。

MONTH(日付)

MONTH(%TODAY%) == 9

整数の月。日付要素を使用します。

NOW()

NOW() == Thu Aug 27 2019 16:32:00 GMT -0700 (PDT)

現在の日時を完全な JavaScript 形式で返します。ミリ秒は常に 0 に設定されます。

$Vlocity.NOW 環境変数はユーザーまたは組織のタイムゾーンを適用し、NOW() 関数は UTC 時間を適用します。

TODAY()

TODAY() == Thu Aug 27 2019 00:00:00 GMT -0700 (PDT)

今日の日付を返します。時刻は常に午前 0 時に設定されます。

YEAR(日付)

YEAR(%TODAY%) == 2019

日付の年を整数として返します。日付要素を使用します。

関数名

例

詳細

ARRAY(value1, value2, ..., valueN)

ARRAY(%Child1%,%Child2%,

%Child3%,%Child4%) == [4,3,1,2]

要素の値の配列を返します。

average(配列)

average(%Age%) == 2.5

集計: 指定された数値の平均値を返します。繰り返し要素を使用します。

average(value1, value2, ..., valueN)

average(%Child1%,%Child2%,

%Child3%,%Child4%) == 2.5

指定された数値の平均を返します。

COUNT(配列)

COUNT(%Age%) == 4

Aggregate (集計): 繰り返し要素数を返します。

EXISTS(array_or_value, expression_or_value)

EXISTS([%FirstName%,%LastName%], "Tony") == true

指定された値が 1 つ以上の要素に存在する場合に true を返します。[集計] に、EXISTS(%FirstName%,"Tony" など) という繰り返し要素の名前を入力します。FirstName は繰り返し可能です。

MAX(配列)

MAX(%AGE%) == 4

Aggregate (集計): 指定された数値の最大値を返します。繰り返し要素を使用します。

MAX((value1, value2,..., valueN)

MAX(%Child1%,%Child2%,

%Child3%,%Child4%) == 4

指定された要素のグループの最大値を返します。

MIN(配列)

MIN(%AGE%) == 1

集計: 指定された数値の最小値を返します。繰り返し要素を使用します。

MIN((value1, value2, ..., valueN))

最小 (%Child1%,%Child2%,

%Child3%,%Child4%) == 1

指定された要素のグループの最小値を返します。

SUM(配列)

SUM(%AGE%) == 10

Aggregate (集計): 繰り返し可能な要素内のすべての値の合計を返します。

SUM(value1, value2, ..., valueN)

SUM(%Child1%,%Child2%,

%Child3%,%Child4%) == 10

すべてのカンマ区切りの要素と値の合計を返します。

OmniScript で数式入力を SUM 数式と共に使用する場合、[式] テキストボックスでは、小数部の精度がデフォルトで 2 に設定されます。これは、数式で目的の小数値の数を指定しても発生します。たとえば、数式 ROUND(SUM(4.216546546,5.55463551),7) を使用すると、結果は 9.7711821 ではなく 9.77 になります。 正確な小数点を取得するには、代わりに + (プラス) 記号付きの ROUND 数式を使用します。たとえば、前の例の代わりに数式ROUND(4.216546546+5.55463551,7)を使用して、目的の精度を得ることができます。

 
読み込み中
Salesforce Help | Article