ヘルパー関数
パーソナライゼーションエディター内のヘルパー関数を使用して、データの操作、計算の実行、コンテンツの書式設定により、パーソナライズされたコンテンツエクスペリエンスを正確かつ効率的に定義します。 これらの機能、オペレーター、ヘルパーを調べて実験し、連携してカスタマイズされたデータ駆動型ジャーニーを作成する方法を見つけます。
集計関数
集計関数を使用して、複数の値をグループ化し、単一の要約値を形成します。 また、配列関数とリスト関数を使用すると、配列、リストおよび文字列とのインタラクションを定義しやすくなります。
平均 average
配列内の選択された値すべての算術平均を返すには、average 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、すべての注文の平均価格を返します。
| code language-sql |
|---|
|
count count
指定された配列内の要素数を返すには、count 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、配列内の注文の数を返します。
| code language-sql |
|---|
|
max max
配列内の選択された値すべての最大値を返すには、max 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、すべての注文の最高価格を返します。
| code language-sql |
|---|
|
min min
配列内の選択された値すべての最小値を返すには、min 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、すべての注文の最低価格を返します。
| code language-sql |
|---|
|
sum sum
配列内の選択された値すべての合計を返すには、sum 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、すべての注文の価格の合計を返します。
| code language-sql |
|---|
|
演算関数 maths
演算関数を使用して、値に対する基本的な計算を実行します。
add add
2 つの引数式の合計を求めるには、+ (加算)関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、2 つの異なる製品の価格を合計します。
| code language-sql |
|---|
|
multiple multiply
2 つの引数式の積を求めるには、* (乗算)関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、在庫製品と製品価格を検索して、製品の総価値を算出します。
| code language-sql |
|---|
|
減算 substract
2 つの引数式の差を求めるには、- (減算)関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、2 つの異なる製品の価格の違いを見つけます。
| code language-sql |
|---|
|
除算 divide
2 つの引数式の商を求めるには、/ (除算)関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、販売された製品の合計と獲得した合計金額の比率を求めて、品目ごとの平均コストを算出します。
| code language-sql |
|---|
|
remainder remainder
2 つの引数式を除算した後の剰余を求めるには、% (remainder)関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、年齢が 5 で割り切れるかどうかを確認します。
| code language-sql |
|---|
|
配列およびリスト関数 arrays
これらの関数を使用すると、配列、リスト、および文字列の操作が容易になります。
countOnlyNull count-only-null
countOnlyNull 関数を使用すると、リスト内の null 値の数をカウントできます。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
3 を返します。
countWithNull count-with-null
countWithNull 関数を使用すると、null 値を含むリストのすべての要素をカウントできます。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
「6」を返します。
distinct distinct
distinct 関数を使用して、重複値を削除して配列またはリストから値を取得します。
| code language-sql |
|---|
|
例
次の操作は、複数の店舗で注文した人物を特定します。
| code language-sql |
|---|
|
distinctCountWithNull distinct-count-with-null
distinctCountWithNull 関数を使用すると、null 値を含むリスト内の異なる値の数をカウントできます。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
3 を返します。
ヘッド head
配列またはリスト内の最初の項目を返すには、head 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、最も金額が高い注文の上位 5 件のうち最初の項目を返します。topN 関数の詳細については、配列の最初の nの節を参照してください 。
| code language-sql |
|---|
|
topN first-n
topN 関数は、指定された数式に基づいて配列を降順に並べ替え、最初の N 項目を返します。 配列のサイズが N 未満の場合は、並べ替えられた配列全体を返します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{ARRAY} |
並べ替える配列またはリスト。 |
{VALUE} |
配列またはリストの並べ替えに使用するプロパティ。 |
{AMOUNT} |
返される項目の数。 |
例
次の操作は、最も金額が低い注文の最初の 5 件を返します。
| code language-sql |
|---|
|
in in
項目が配列またはリストのメンバーであるかどうかを判断するには、in 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、誕生日が 3 月、6 月または 9 月の人を定義します。
| code language-sql |
|---|
|
includes includes
配列またはリストに指定した項目が含まれているかどうかを確認するには、includes 関数を使用します。
| code language-sql |
|---|
|
例
次の操作は、お気に入りの色に赤が含まれる人物を定義します。
| code language-sql |
|---|
|
交わり intersects
intersects 関数は、2つの配列またはリストに、共通メンバーが 1 つ以上あるかどうかを判断するために使用されます。
| code language-sql |
|---|
|
例
次の操作は、お気に入りの色に赤、青、緑のうち 1 つ以上が含まれる人を定義します。
| code language-sql |
|---|
|
bottomN last-n
bottomN 関数は、指定された数式に基づいて配列を昇順に並べ替え、最初の N 項目を返します。 配列のサイズが N 未満の場合は、並べ替えられた配列全体を返します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{ARRAY} |
並べ替える配列またはリスト。 |
{VALUE} |
配列またはリストの並べ替えに使用するプロパティ。 |
{AMOUNT} |
返される項目の数。 |
例
次の操作は、最も金額が高い注文の最後の 5 件を返します。
| code language-sql |
|---|
|
notIn notin
項目が配列またはリストのメンバーでないかどうかを判断するには、notIn 関数を使用します。
notIn 関数はまた、どの値も NULL ではないことを保証します。したがって、結果は in 関数の完全な否定ではありません。| code language-sql |
|---|
|
例
次の操作は、誕生日が 3 月、6 月または 9 月でない人を定義します。
| code language-sql |
|---|
|
subsetOf subset
特定の配列(配列 A)が別の配列(配列 B)のサブセットであるかどうかを判断するには、subsetOf 関数を使用します。 つまり、配列 A 内のすべての要素が配列 B の要素であるということです。
| code language-sql |
|---|
|
例
次の操作は、お気に入りの都市をすべて訪問した人を定義します。
| code language-sql |
|---|
|
スーパーセットの superset
特定の配列(配列 A)が別の配列(配列 B)のスーパーセットであるかどうかを判断するには、supersetOf 関数を使用します。 つまり、その配列 Aには配列 B のすべての要素が含まれます。
| code language-sql |
|---|
|
例
次の操作は、寿司とピザを 1 回以上食べたことがある人を定義しています。
| code language-sql |
|---|
|
日付および時間関数 date-time
日付と時刻の関数を使用すると、値に対して日付と時刻の操作を実行できます。
addDays add-days
addDays 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された日数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addDays(stringToDate("2024-11-01T17:19:51Z"),10) %} - 出力:
2024-11-11T17:19:51Z
addHours add-hours
addHours 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された時間数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addHours(stringToDate("2024-11-01T17:19:51Z"),1) %} - 出力:
2024-11-01T18:19:51Z
addMinutes add-minutes
addMinutes 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された分数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addMinutes(stringToDate("2024-11-01T17:59:51Z"),10) %} - 出力:
2024-11-01T18:09:51Z
addMonths add-months
addMonths 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された月数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addMonths(stringToDate("2024-11-01T17:19:51Z"),2) %} - 出力:
2025-01-01T17:19:51Z
addSeconds add-seconds
addSeconds 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された秒数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addSeconds(stringToDate("2024-11-01T17:19:51Z"),10) %} - 出力:
2024-11-01T17:20:01Z
addYeers add-years
addYears 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された年数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addYears(stringToDate("2024-11-01T17:19:51Z"),2) %} - 出力:
2026-11-01T17:19:51Z
年齢 age
age 関数を使用して、指定された日付からの経過時間を取得します。
| code language-sql |
|---|
|
ageInDay age-days
ageInDays 関数は、指定された日付から現在の日付までの経過日数を計算します。 将来の日付には負の値を使用し、過去の日付には正の値を使用します。
| code language-sql |
|---|
|
例
currentDate = 2025-01-07T12:17:10.720122+05:30(アジア/コルカタ)
- 入力:
{%= ageInDays(stringToDate("2025-01-01T17:19:51Z"))%} - 出力:
5
ageInMonth age-months
ageInMonths 関数は、指定された日付から現在の日付までの経過月数を計算します。 将来の日付には負の値を使用し、過去の日付には正の値を使用します。
| code language-sql |
|---|
|
例
currentDate = 2025-01-07T12:22:46.993748+05:30(アジア/コルカタ)
- 入力:
{%=ageInMonths(stringToDate("2024-01-01T00:00:00Z"))%} - 出力:
12
compareDates compare-dates
compareDates 関数は、最初の入力日付を他の入力日付と比較します。date1 が date2 と等しい場合は 0、date1 が date2 より前の場合は–1、date1 が date2 より後の場合は 1 が返されます。
| code language-sql |
|---|
|
例
- 入力:
{%=compareDates(stringToDate("2024-12-02T00:00:00Z"), stringToDate("2024-12-03T00:00:00Z"))%} - 出力:
-1
convertZonedDateTime convert-zoned-date-time
convertZonedDateTime 関数は、日時を指定されたタイムゾーンに変換します。
| code language-sql |
|---|
|
例
- 入力:
{%=convertZonedDateTime(stringToDate("2019-02-19T08:09:00Z"), "Asia/Tehran")%} - 出力:
2019-02-19T11:39+03:30[Asia/Tehran]
currentTimeInMillis current-time
currentTimeInMillis 関数を使用して、現在の時刻をエポックミリ秒単位で取得します。
| code language-sql |
|---|
|
dateDiff date-diff
dateDiff 関数を使用すると、2 つの日付間の差異を日数単位で取得できます。
| code language-sql |
|---|
|
dayOfMonth day-month
dayOfMonth は、その月の日付を表す数値を返します。
| code language-sql |
|---|
|
例
- 入力:
{%= dayOfMonth(stringToDate("2024-11-05T17:19:51Z")) %} - 出力:
5
曜日 day-week
dayOfWeek 関数を使用して曜日を取得します。
| code language-sql |
|---|
|
dayOyear day-year
dayOfYear 関数を使用して通日(1 月 1 日からの通算日数)を取得します。
| code language-sql |
|---|
|
diffInSeconds diff-seconds
diffInSeconds 関数は、秒数単位で 2 つの日付間の差異を返します。
| code language-sql |
|---|
|
例
- 入力:
{%=diffInSeconds(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T17:19:01Z"))%} - 出力:
50
extractHours extract-hours
extractHours 関数は、指定されたタイムスタンプから時間コンポーネントを抽出します。
| code language-sql |
|---|
|
例
- 入力:
{%= extractHours(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
17
extractMinutes extract-minutes
extractMinutes 関数は、指定されたタイムスタンプから分コンポーネントを抽出します。
| code language-sql |
|---|
|
例
- 入力:
{%= extractMinutes(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
19
extractMonths extract-months
extractMonth 関数は、指定されたタイムスタンプから月コンポーネントを抽出します。
| code language-sql |
|---|
|
例
- 入力:
{%=extractMonth(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
11
extractSeconds extract-seconds
extractSeconds 関数は、指定されたタイムスタンプから秒コンポーネントを抽出します。
| code language-sql |
|---|
|
例
- 入力:
{%=extractSeconds(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
51
formatDate format-date
formatDate 関数を使用して、日時値を書式設定します。 形式は、有効な Java DateTimeFormat パターンである必要があります。
| code language-sql |
|---|
|
ここで、最初の文字列は日付属性で、2 番目の値は日付の変換および表示方法です。
| note note |
|---|
| NOTE |
| 日付パターンが無効な場合、日付は ISO 標準形式にフォールバックします。 |
| Oracle ドキュメントにまとめられている Java 日付書式設定関数を使用できます。 |
例
次の操作を実行すると、MM/DD/YY の形式で日付が返されます。
| code language-sql |
|---|
|
パターン文字 pattern-characters
一部のパターン文字は似ているように見えるかもしれませんが、異なる概念を表しています。
2023-12-31T10:15:30Z)y2023Y2024 (2023 年 12 月 31 日は 2024 年の第 1 週です)MJan、January などのテキスト)12 または Decm15d31D365日付をロケールサポートの形式にする format-date-locale
formatDate 関数を使用すると、目的のロケールなど、日付と時刻の値を対応する言語に依存する表現にフォーマットできます。 形式は、有効な Java DateTimeFormat パターンである必要があります。
| code language-sql |
|---|
|
最初の文字列は日付の属性で、2 番目の値はどのように日付を変換して表示するか、3 番目の値は文字列形式のロケールを表します。
| note note |
|---|
| NOTE |
| 日付パターンが無効な場合、日付は ISO 標準形式にフォールバックします。 |
| Oracle ドキュメント にまとめられている Java 日付書式設定関数を使用できます。 |
| Oracle ドキュメントと サポートされているロケール にまとめられている書式設定と有効なロケールを使用でき す。 |
例
次の操作は、MM/dd/YY 形式(ロケール:FRANCE)で日付を返します。
| code language-sql |
|---|
|
getCurrentZonedDateTime get-current-zoned-date-time
getCurrentZonedDateTime 関数は、タイムゾーン情報を含む現在の日時を返します。
| code language-sql |
|---|
|
例
- 入力:
{%= getCurrentZonedDateTime() %} - 出力:
2024-12-06T17:22:02.281067+05:30[Asia/Kolkata]
diffInHour hours-difference
diffInHours 関数は、時間数単位で 2 つの日付間の差異を返します。
| code language-sql |
|---|
|
例
- 入力:
{%= diffInHours(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T07:19:51Z"))%} - 出力:
10
diffInMinute diff-minutes
diffInMinutes 関数は、2 つの日付間の差異を分単位で返します。
| code language-sql |
|---|
|
例
- 入力:
{%= diffInMinutes(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T16:19:51Z"))%} - 出力:
60
diffInMonths months-difference
diffInMonths 関数は、月数単位で 2 つの日付間の差異を返します
| code language-sql |
|---|
|
例
- 入力:
{%=diffInMonths(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-08-01T17:19:51Z"))%} - 出力:
3
setDays set-days
setDays 関数を使用して、指定された日時の日付を設定します。
| code language-sql |
|---|
|
setHours set-hours
setHours 関数を使用して日時の時を設定します。
| code language-sql |
|---|
|
toDateTime string-to-date-time
toDateTime 関数は、文字列を日付に変換します。無効な入力に対する出力として、エポック日付を返します。
| code language-sql |
|---|
|
例
- 入力:
{%=toDateTime("2024-11-01T17:19:51Z")%} - 出力:
2024-11-01T17:19:51Z
toUtc to-utc
toUTC 関数を使用して日時を UTC に変換します。
| code language-sql |
|---|
|
truncateToStartOfDay truncate-day
truncateToStartOfDay 関数を使用して、指定された日時を、時刻 00:00 の日の始めに設定して変更します。
| code language-sql |
|---|
|
例
- 入力:
{%= truncateToStartOfDay(stringToDate("2024-11-01T17:19:51Z")) %} - 出力:
2024-11-01T00:00Z
truncateToStartOfQuarter truncate-quarter
truncateToStartOfQuarter 関数を使用すると、日時を四半期の最初の日(1 月 1 日、4 月 1 日、7 月 1 日、10 月 1 日など) :0000 に切り捨てることができます。
| code language-sql |
|---|
|
例
- 入力:
{%=truncateToStartOfQuarter(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
2024-10-01T00:00Z
truncateToStartOfWeek truncate-week
truncateToStartOfWeek 関数は、指定された日時を週の初め(月曜日の 00:00)に設定して変更します。
| code language-sql |
|---|
|
例
- 入力:
{%= truncateToStartOfWeek(stringToDate("2024-11-19T17:19:51Z"))%} // tuesday - 出力:
2024-11-18T00:00Z // monday
truncateToStartOfYear truncate-year
truncateToStartOfYear 関数を使用すると、指定された日時を年の最初の日(1 月 1 日)の 00:00 に切り捨てて変更できます。
| code language-sql |
|---|
|
例
- 入力:
{%=truncateToStartOfYear(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
2024-01-01T00:00Z
週間/年 week-of-year
weekOfYear 関数を使用して、年の週番号(何週目か)を取得します。
| code language-sql |
|---|
|
diffInYears diff-years
2 つの日付間の年単位の差異を返すには、diffInYears 関数を使用します。
| code language-sql |
|---|
|
例
- 入力:
{%=diffInYears(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2019-10-01T17:19:51Z"))%} - 出力:
5
演算子関数 operators
ブール関数と比較関数を使用して、論理評価を実行します。
and and
and 関数は、論理積を作成するために使用されます。
| code language-sql |
|---|
|
例
次の操作は、母国(フランス)と生年月日(1985 年)を持つすべての人を返します。
| code language-sql |
|---|
|
または or
or 関数は、論理和を作成するために使用されます。
| code language-sql |
|---|
|
例
次の操作は、母国(フランス)または生年月日(1985 年)を持つすべての人を返します。
| code language-sql |
|---|
|
等しい operator-equals
=(次に等しい)関数は、ある値または式が別の値または式と等しいかどうかを確認します。
| code language-sql |
|---|
|
例
次の操作は、自宅住所の国がフランスかどうかを確認します。
| code language-sql |
|---|
|
次と等しくない notequal
!=(次と等しくない)関数は、ある値または式が別の値または式と等しく ない かどうかを確認します。
| code language-sql |
|---|
|
例
次の操作は、自宅住所の国がフランスでないかどうかを確認します。
| code language-sql |
|---|
|
指定の値より大きい greaterthan
> (次より大きい)関数を使用すると、最初の値が 2 番目の値より大きいかどうかを確認できます。
| code language-sql |
|---|
|
例
次の操作は、1970 年より後(1970 年は含まない)に生まれた人々を定義します。
| code language-sql |
|---|
|
次よりも大きいか等しい greaterthanorequal
>= (同じかそれ以上)関数を使用すると、最初の値が 2 番目の値以上かどうかを確認できます。
| code language-sql |
|---|
|
例
以下の操作は、1970 年以降に生まれた人々を定義します。
| code language-sql |
|---|
|
指定の値未満 lessthan
< (次より小さい)比較関数を使用すると、最初の値が 2 番目の値より小さいかどうかを確認できます。
| code language-sql |
|---|
|
例
次の操作は、2000 年より前(2000 年を含まない)に生まれた人々を定義します。
| code language-sql |
|---|
|
次よりも小さいか等しい lessthanorequal
<= (同じかそれ以下)比較関数を使用すると、最初の値が 2 番目の値以下かどうかを確認できます。
| code language-sql |
|---|
|
例
次の操作は、2000 年以前に生まれた人々を定義します。
| code language-sql |
|---|
|
動的関数 dynamic-helpers
動的ヘルパー関数を使用して、条件付き評価、イテレーション、変数割り当てを動的パーソナライゼーションに使用します。
デフォルトのフォールバック値 default-value
Default Fallback Value ヘルパーは、属性が空または null の場合にデフォルトのフォールバック値を返すために使用されます。このメカニズムは、プロファイル属性とジャーニーイベントで機能します。
| code language-sql |
|---|
|
この例では、このプロファイルの firstName 属性が空または null の場合、there という値が表示されます。
if (条件) if-function
if ヘルパーを使用して、条件ブロックを定義します。
式の評価結果が true の場合、ブロックはレンダリングされます。true でない場合はスキップされます。
| code language-sql |
|---|
|
if ヘルパーの後に、else ステートメントを入れて、その条件の結果が false の場合に実行するコードのブロックを指定することもできます。elseif ステートメントは、最初のステートメントが false を返した場合にテストする新しい条件を指定します。
形式
| code language-sql |
|---|
|
unless unless
unless ヘルパーを使用して、条件ブロックを定義します。 if ヘルパーとは異なり、式の評価結果が false の場合にブロックがレンダリングされます。
| code language-sql |
|---|
|
例
メールアドレスの拡張子に基づいてコンテンツをレンダリングする。
| code language-sql |
|---|
|
それぞれ each
each ヘルパーを使用して、配列に対して反復処理を行います。
ヘルパー構造は {{#each ArrayName}} YourContent {{/each}} です
ブロック内でキーワード this を使用して、個々の配列項目を参照できます。 {{@index}} を使用して、配列の要素のインデックスをレンダリングします。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
例
ユーザーが買い物かごに入れた商品のリストをレンダリングする。
| code language-sql |
|---|
|
次を使用 with
template-part の評価トークンを変更するには、with ヘルパーを使用します。
| code language-sql |
|---|
|
with ヘルパーは、ショートカット変数を定義する場合にも使用できます。
例
長い変数名を短い変数名にエイリアシングする場合は、with を使用します。
| code language-sql |
|---|
|
let let
let 関数を使用すると、式を変数として保存し、後からクエリで使用できます。
| code language-sql |
|---|
|
例
次の例では、買い物かご内の価格が 100~1000 の製品の合計価格を計算できます。
| code language-sql |
|---|
|
実行メタデータ execution-metadata
executionMetadata を使用して、カスタムのキーと値のペアをキャプチャし、メッセージ実行コンテキストに動的に保存します。
この関数を使用すると、キャンペーンやジャーニーの任意のネイティブアクションにコンテキスト情報を追加できます。これを使用すると、トラッキング、分析、パーソナライゼーション、ダウンストリーム処理など、様々な目的でリアルタイム配信のコンテキストデータを外部システムに書き出すことができます。
executionMetadata 関数をサポートしていません。例えば、executionMetadata ヘルパーを使用して、各プロファイルに送信される各配信に特定の ID を追加できます。 この情報は実行時に生成され、強化された実行メタデータは外部レポートプラットフォームとのダウンストリームの紐付けのためにエクスポートできます。
| code language-none |
|---|
|
この構文では、key はメタデータ名を参照し、value は保持するメタデータです。
仕組み
キャンペーンまたはジャーニー内のチャネルコンテンツから任意の要素を選択し、パーソナライゼーションエディターを使用して、この要素に executionMetadata ヘルパーを追加します。
| note note |
|---|
| NOTE |
コンテンツ自体が表示されている場合、executionMetadata 関数は表示されません。 |
実行時に、次のスキーマの追加を伴って、メタデータ値が既存の メッセージフィードバックイベントデータセット に追加されます。
| code language-none |
|---|
|
| note important |
|---|
| IMPORTANT |
| アクションごとのキーと値のペアの上限は 2 kb です。 2Kb の制限を超えた場合、メッセージは引き続き配信されますが、キーと値のペアのいずれかが切り捨てられる場合があります。 |
例
| code language-none |
|---|
|
この例では、profile.person.name.firstName = "Alex" と想定すると、結果のエンティティは次のようになります。
| code language-none |
|---|
|
マップ関数 maps
パーソナライゼーションでマップ関数を使用すると、マップとのやり取りが容易になります。
get get
get 関数を使用して、指定されたキーのマップの値を取得します。
| code language-sql |
|---|
|
例
次の操作は、キー example@example.com の ID マップの値を取得します。
| code language-sql |
|---|
|
キー keys
keys 関数を使用して、特定のマップのすべてのキーを取得します。
| code language-sql |
|---|
|
例
次の操作は、マップ identityMap のすべてのキーを取得します。
| code language-sql |
|---|
|
値 values
values 関数は、特定のマップのすべての値を取得するために使用されます。
| code language-sql |
|---|
|
例
次の操作は、マップ identityMap のすべての値を取得します。
| code language-sql |
|---|
|
数学関数 math
パーソナライゼーションエディターで数学関数を使用する方法を説明します。
絶対パス absolute
absolute 関数を使用して、数値をその絶対値に変換します。
| code language-sql |
|---|
|
formatNumber format-number
formatNumber 関数を使用すると、任意の数値を言語依存の表現に書式設定できます。
ロケールを表す数値および文字列を受け入れて、目的のロケールで書式設定された数値の文字列を返します。
| code language-sql |
|---|
|
Oracle ドキュメントと サポートされているロケールにまとめられている書式設定と有効なロケールを使用でき す
例
このクエリは、123456.789 に対応するアラビア語で書式設定された文字列を入力番号として返します。
| code language-sql |
|---|
|
random random
random 関数を使用すると、0 ~ 1 の間のランダムな値を返します。
| code language-sql |
|---|
|
roundDown round-down
roundDown 関数を使用すると、数値を切り捨てることができます。
| code language-sql |
|---|
|
切り上げ round-up
roundUp 関数を使用すると、数値を切り上げることができます。
| code language-sql |
|---|
|
toHexString to-hex-string
この toHexString 関数は、任意の数を 16 進文字列に変換します。
| code language-sql |
|---|
|
例
このクエリは、158 の 16 進数値を 9e として返します。
| code language-sql |
|---|
|
toInt to-int
型(number、double、integer、long、float、short、byte、boolean、string)を整数に変換するには、toInt 関数を使用します。
| code language-sql |
|---|
|
例
このクエリは、42.6 の整数値を 42 として返します。
| code language-sql |
|---|
|
toPercentage to-percentage
toPercentage 関数を使用して数値をパーセンテージに変換します。
| code language-sql |
|---|
|
toPrecision to-precision
toPrecision 関数を使用して、数値を必要な精度に変換します。
| code language-sql |
|---|
|
toString to-string
toString 関数は、任意の数値を文字列表現に変換します。
| code language-sql |
|---|
|
例
このクエリは "12" を返します。
| code language-sql |
|---|
|
オブジェクト関数 objects
オブジェクトのプロパティまたは属性を照会するオブジェクト関数。
isNull isNull
isNull 関数は、オブジェクト参照が存在しないかどうかを判定します。
| code language-sql |
|---|
|
例
次の操作は、ユーザーの自宅の住所が存在しないかどうかを確認します。
| code language-sql |
|---|
|
isNotNull isNotNull
isNotNull 関数は、オブジェクト参照が存在するかどうかを判定します。
| code language-sql |
|---|
|
例
次の操作は、ユーザーの自宅の住所が存在するかどうかを確認します。
| code language-sql |
|---|
|
文字列関数 string-functions
パーソナライゼーションエディターで文字列関数を使用する方法を説明します。
camelCase camelCase
camelCase 関数は、文字列の各単語の最初の文字を大文字にします。
| code language-sql |
|---|
|
例
次の関数は、プロファイルの住所の単語の最初の文字を大文字にします。
| code language-sql |
|---|
|
charCodeAt char-code-at
charCodeAt 関数は、JavaScriptの charCodeAt 関数と同様に、文字の ASCII 値を返します。 文字列と整数(文字の位置を定義する)を入力引数として受け取り、対応する ASCII 値を返します。
| code language-sql |
|---|
|
例
次の関数は、o (111)の ASCII 値を返します。
| code language-sql |
|---|
|
concat concate
concat 関数は、2 つの文字列を 1 つに結合します。
| code language-sql |
|---|
|
例
次の関数は、プロファイルの市区町村と国を 1 つの文字列に組み合わせます。
| code language-sql |
|---|
|
指定の語を含む contains
文字列が指定の部分文字列を含んでいるかどうかを判定するには、contains 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
STRING_1 |
チェックの実行対象となる文字列です。 |
STRING_2 |
最初の文字列内で検索する文字列です。 |
CASE_SENSITIVE |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
-
次の関数は、プロファイルの名に A (大文字または小文字)が含まれているかどうかを確認します。 プロファイルが含む場合は、
trueを返します。 そうでない場合は、falseを返します。code language-sql {%= contains(profile.person.name.firstName, "A", false) %} -
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが
2010@gmという文字列を含んでいるかどうかを判定します。code language-sql {%= contains(profile.person.emailAddress,"2010@gm") %}
doesNotContain doesNotContain
文字列が指定の部分文字列を含んでいないかどうかを判定するには、doesNotContain 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
STRING_1 |
チェックの実行対象となる文字列です。 |
STRING_2 |
最初の文字列内で検索する文字列です。 |
CASE_SENSITIVE |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが 2010@gm という文字列を含んでいないかどうかを判定します。
| code language-sql |
|---|
|
doesNotEndWith doesNotEndWith
文字列の末尾が指定の部分文字列になっていないかどうかを判定するには、doesNotEndWith 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが .com で終わらないかどうかを判定します。
| code language-sql |
|---|
|
doesNotStartWith doesNotStartWith
文字列の先頭が指定の部分文字列になっていないかどうかを判定するには、doesNotStartWith 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が Joe で始まらないかどうかを判定します。
| code language-sql |
|---|
|
encode64 encode64
encode64 関数を使用して、個人情報(PI)を URL に含めるなどの個人情報を保持する文字列をエンコードします。
| code language-sql |
|---|
|
endsWith endsWith
文字列が指定の部分文字列で終わることを判別するには、endsWith 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが .com で終わるかどうかを判定します。
| code language-sql |
|---|
|
等しい equals
文字列が指定の文字列に等しいかどうかを判定するには、equals 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が John かどうかを判定します。
| code language-sql |
|---|
|
equalsIgnoreCase equalsIgnoreCase
大文字と小文字を区別せずに、文字列が指定の文字列に等しいかどうかを判定するには、equalsIgnoreCase 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別せずに、人物の名前が John かどうかを判定します。
| code language-sql |
|---|
|
extractEmailDomain extractEmailDomain
extractEmailDomain 関数を使用して、メールアドレスのドメインを抽出します。
| code language-sql |
|---|
|
例
次のクエリは、個人のメールアドレスのメールドメインを抽出します。
| code language-sql |
|---|
|
formatCurrency format-currency
formatCurrency 関数を使用すると、2 番目の引数で文字列として渡されたロケールに応じて、任意の数値を対応する言語に依存する通貨表現に変換できます。
| code language-sql |
|---|
|
例
このクエリは £56.00 を返します
| code language-sql |
|---|
|
getUrlHost get-url-host
getUrlHost 関数を使用して、URL のホスト名を取得します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
「www.myurl.com」を返します
getUrlPath get-url-path
getUrlPath 関数を使用して、URL のドメイン名の後のパスを取得します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
「/contact.html」を返します
getUrlProtocol get-url-protocol
getUrlProtocol 関数を使用して、URL のプロトコルを取得します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
「http」を返します
indexOf index-of
indexOf 関数を使用すると、2 番目のパラメーターが最初に現れる(最初の引数内の)位置を返します。 一致するものがない場合は「-1」を返します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初のパラメーターで検索する文字列 |
例
| code language-sql |
|---|
|
「6」を返します。
isEmpty isEmpty
isEmpty 関数を使用すると、文字列が空かどうかを判断できます。
| code language-sql |
|---|
|
例
次の関数は、プロファイルの携帯電話番号が空の場合、「true」を返します。それ以外の場合は、false を返します。
| code language-sql |
|---|
|
isNotEmpty is-not-empty
isNotEmpty 関数を使用すると、文字列が空でないかどうかを判定できます。
| code language-sql |
|---|
|
例
次の関数は、プロファイルの携帯電話番号が空の場合、「true」を返します。それ以外の場合は、false を返します。
| code language-sql |
|---|
|
lastIndexOf last-index-of
lastIndexOf 関数を使用して、2 番目のパラメーターが最後に現れる(最初の引数内の)位置を返します。 一致するものがない場合は「-1」を返します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初のパラメーターで検索する文字列 |
例
| code language-sql |
|---|
|
「7」を返します。
leftTrim leftTrim
文字列の先頭から空白を削除するには、leftTrim 関数を使用します。
| code language-sql |
|---|
|
length length
文字列または式の文字数を取得するには、length 関数を使用します。
| code language-sql |
|---|
|
例
次の関数は、プロファイルの市区町村名の長さを返します。
| code language-sql |
|---|
|
like like
文字列が指定のパターンと一致するかどうかを判定するには、like 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列列と照合される式です。式の作成に使用できる特殊文字として、
|
例
次のクエリでは、パターン es を含むプロファイルが住んでいるすべての都市を取得します。
| code language-sql |
|---|
|
lowercase lower
文字列を小文字に変換するには、lowerCase 関数を使用します。
| code language-sql |
|---|
|
例
この関数は、プロファイルの名を小文字に変換します。
| code language-sql |
|---|
|
一致する matches
matches 関数を使用すると、文字列が特定の正規表現に一致することを判別できます。 正規表現のマッチングパターンについて詳しくは、Oracleのドキュメント を参照してください。
| code language-sql |
|---|
|
例
次のクエリでは、大文字と小文字を区別せずに、人物の名前が John で始まるかどうかを判定します。
| code language-sql |
|---|
|
マスク mask
mask 関数を使用すると、文字列の一部を「X」の文字に置き換えることができます。
| code language-sql |
|---|
|
例
次のクエリでは、「123456789」文字列を「X」の文字に置き換えます(最初と最後の 2 文字を除きます)。
| code language-sql |
|---|
|
このクエリは 1XXXXXX89 を返します。
md5 md5
md5 関数を使用して、文字列の md5 ハッシュを計算して返します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
「5eb63bbbe01eeed093cb22bb8f5acdc3」を返します。
notEqualTo notEqualTo
文字列が指定の文字列に等しくないかどうかを判定するには、notEqualTo 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が John でないかどうかを判定します。
| code language-sql |
|---|
|
notEqualWithIgnoreCase not-equal-with-ignore-case
notEqualWithIgnoreCase 関数を使用すると、大文字と小文字を区別せずに、2 つの文字列を比較できます。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別せずに、ユーザーの名前が john でないかどうかを判定します。
| code language-sql |
|---|
|
regexGroup regexGroup
regexGroup 関数を使用して、指定された正規表現に基づいて特定の情報を抽出します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING} |
チェックの実行対象となる文字列です。 |
{EXPRESSION} |
最初の文字列列と照合する正規表現です。 |
{GROUP} |
照合する式のグループです。 |
例
次のクエリでは、メールアドレスからドメイン名を抽出します。
| code language-sql |
|---|
|
replace replace
文字列内の特定の部分文字列を別の部分文字列で置き換えるには、replace 関数を使用します。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
部分文字列を置き換える必要がある文字列です。 |
{STRING_2} |
置き換える部分文字列。 |
{STRING_3} |
置換する部分文字列。 |
例
| code language-sql |
|---|
|
Hello Mark, here is your monthly newsletter! を返します。
replaceAll replaceAll
replaceAll 関数を使用すると、正規表現式に一致するテキストのすべてのサブ文字列を、指定されたリテラル置換文字列に置き換えることができます。 正規表現には \ と + の特別な処理があり、すべての正規表現はPQL エスケープ戦略に従います。 置換は、文字列の先頭から末尾に向かって行われます。例えば、文字列内の aa を b に置き換えると aaa ba ではなく ab になります。
| code language-sql |
|---|
|
| note note |
|---|
| NOTE |
2 番目の引数として使用される式が特殊な正規表現文字である場合は、2 つのバックスラッシュ(//)を使用します。特殊な正規表現文字は次のとおりです:[.、+、*、?、^、$、(、)、[、]、{、}、|、] |
| 詳しくは、Oracle ドキュメントを参照してください。 |
rightTrim rightTrim
rightTrim 関数は、文字列の末尾から空白を削除します。
| code language-sql |
|---|
|
sha256 sha256
sha256 関数は、文字列の sha256 ハッシュを計算して返します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
0b0b207880b999adaad6231026abf87caa30760b6f326b21727b61139332257d を返します。
split split
文字列を特定の文字で分割するには、split 関数を使用します。
| code language-sql |
|---|
|
startsWith startsWith
startsWith 関数を使用すると、文字列が指定の部分文字列で始まるかどうかを判定できます。
| code language-sql |
|---|
|
| table 0-row-2 1-row-2 2-row-2 3-row-2 | |
|---|---|
| 引数 | 説明 |
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。デフォルトでは true に設定されています。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が Joe で始まるかどうかを判定します。
| code language-sql |
|---|
|
stringToDate string-to-date
stringToDate 関数は、文字列値を日時値に変換します。 日時の文字列表現とフォーマッターの文字列表現の 2 つの引数を取ります。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
string_to_integer string-to-integer
文字列値を整数値に変換するには、string_to_integer 関数を使用します。
| code language-sql |
|---|
|
stringToNumber string-to-number
文字列を数値に変換するには、stringToNumber 関数を使用します。 無効な入力の出力と同じ文字列を返します。
| code language-sql |
|---|
|
substr sub-string
開始インデックスと終了インデックスの間の文字列式の部分文字列を返すには、substr 関数を使用します。
| code language-sql |
|---|
|
titleCase titleCase
titleCase 関数を使用すると、文字列の各単語の最初の文字を大文字にすることができます。
| code language-sql |
|---|
|
例
人物が Washington high street に住んでいる場合、この関数は Washington High Street を返します。
| code language-sql |
|---|
|
toBool to-bool
toBool 関数を使用して、引数の値を、型に応じてブール値に変換します。
| code language-sql |
|---|
|
toDateTime to-date-time
toDateTime 関数を使用して、文字列を日付に変換します。 無効な入力に対する出力として、エポック日付を返します。
| code language-sql |
|---|
|
toDateTimeOnly to-date-time-only
toDateTimeOnly 関数を使用して、引数の値を日時のみの値に変換します。 無効な入力に対する出力として、エポック日付を返します。この関数は、文字列、日付、長さおよび整数のフィールドタイプを受け入れます。
| code language-sql |
|---|
|
trim trim
trim 関数は、文字列の先頭と末尾にあるすべての空白を削除します。
| code language-sql |
|---|
|
uppercase upper
upperCase 関数は、文字列を大文字に変換します。
| code language-sql |
|---|
|
例
この関数は、プロファイルの姓を大文字に変換します。
| code language-sql |
|---|
|
urlDecode url-decode
urlDecode 関数を使用して、URL エンコードされた文字列をデコードします。
| code language-sql |
|---|
|
urlEncode url-encode
urlEncode 関数を使用して、文字列を URL としてエンコードします。
| code language-sql |
|---|
|