ヘルパー関数
パーソナライゼーションエディター内のヘルパー関数を使用して、データの操作、計算の実行、コンテンツのフォーマットなどをおこない、パーソナライズされたコンテンツエクスペリエンスを正確かつ効率的に定義します。 これらの機能、オペレーター、ヘルパーがどのように連携するかを探索して実験し、カスタマイズされたデータドリブン型のジャーニーを構築するのに役立つかをご確認ください。
集計関数
集計関数を使用して複数の値をグループ化し、単一の概要値を形成します。 また、配列関数とリスト関数を使用して、配列、リスト、文字列の操作を簡単に定義することもできます。
平均 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
+ (加算)関数を使用して、2つの引数式の合計を検索します。
| code language-sql |
|---|
|
例
次の操作は、2 つの異なる製品の価格を合計します。
| code language-sql |
|---|
|
乗算 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つの引数式を分割した後の残りを検索します。
| 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
リスト内の異なる値の数をnull値を含めてカウントするには、distinctCountWithNull関数を使用します。
| code language-sql |
|---|
|
例
| code language-sql |
|---|
|
3 を返します。
head 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関数を使用して、配列またはリストに特定の項目が含まれているかどうかを判断します。
| 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
subsetOf関数を使用して、特定の配列(配列A)が別の配列(配列B)のサブセットであるかどうかを判断します。 つまり、配列 A 内のすべての要素が配列 B の要素であるということです。
| code language-sql |
|---|
|
例
次の操作は、お気に入りの都市をすべて訪問した人を定義します。
| code language-sql |
|---|
|
スーパーセットの superset
supersetOf関数を使用して、特定の配列(配列A)が別の配列(配列B)のスーパーセットであるかどうかを判断します。 つまり、その配列 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
addYears add-years
addYears 関数は、増分に正の値を使用し、減分に負の値を使用して、指定された日付を指定された年数で調整します。
| code language-sql |
|---|
|
例
- 入力:
{%= addYears(stringToDate("2024-11-01T17:19:51Z"),2) %} - 出力:
2026-11-01T17:19:51Z
年齢 age
age関数を使用して、特定の日付から年齢を取得します。
| code language-sql |
|---|
|
ageInDays age-days
ageInDays関数は、指定された日付から現在の日付までの経過日数を計算します。 将来の日付にはマイナスを使用し、過去の日付にはプラスを使用します。
| code language-sql |
|---|
|
例
currentDate = 2025-01-07T12:17:10.720122+05:30(アジア/コルカタ)
- 入力:
{%= ageInDays(stringToDate("2025-01-01T17:19:51Z"))%} - 出力:
5
ageInMonths 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
DayOfWeek day-week
dayOfWeek関数を使用して、曜日を取得します。
| code language-sql |
|---|
|
dayOfYear day-year
dayOfYear関数を使用して、年の日付を取得します。
| 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年の最初の週の秋)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]
diffInHours hours-difference
diffInHours 関数は、時間数単位で 2 つの日付間の差異を返します。
| code language-sql |
|---|
|
例
- 入力:
{%= diffInHours(stringToDate("2024-11-01T17:19:51Z"), stringToDate("2024-11-01T07:19:51Z"))%} - 出力:
10
diffInMinutes 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関数を使用すると、00:00の時点で日時を四半期の最初の日(1月1日、4月1日、7月1日、10月1日など)に切り捨てることができます。
| 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関数を使用して、指定された日時を00:00の年の最初の日(1月1日)に切り捨てて変更します。
| code language-sql |
|---|
|
例
- 入力:
{%=truncateToStartOfYear(stringToDate("2024-11-01T17:19:51Z"))%} - 出力:
2024-01-01T00:00Z
weekOfYear week-of-year
weekOfYear関数を使用して、年の週を取得します。
| code language-sql |
|---|
|
diffInYears diff-years
diffInYears関数を使用して、2つの日付の差を年で返します。
| 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 ヘルパーを使用します。 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
with ヘルパーを使用して、template-partの評価トークンを変更します。
| code language-sql |
|---|
|
with ヘルパーは、ショートカット変数を定義する場合にも使用できます。
例
withを使用して、長い変数名を短い変数名にエイリアスします。
| code language-sql |
|---|
|
レット 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 |
|---|
|
roundUp round-up
roundUp関数を使用して数値を切り上げます。
| code language-sql |
|---|
|
toHexString to-hex-string
この toHexString 関数は、任意の数を 16 進文字列に変換します。
| code language-sql |
|---|
|
例
このクエリは、158の16進数値を9eとして返します。
| code language-sql |
|---|
|
toInt to-int
toInt関数を使用して、型(数値、double、整数、long、float、short、byte、boolean、string)を整数に変換します。
| 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関数を使用して、URLに含めるなど、個人情報(PI)を保存する文字列をエンコードします。
| 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関数を使用します。
| 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
大文字と小文字を区別せずに2つの文字列を比較するには、notEqualWithIgnoreCase関数を使用します。
| 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関数を使用して、正規表現式と一致するテキストのすべての部分文字列を、指定されたリテラル置換文字列に置き換えます。 Regexは\と+の特別な処理を行い、すべての正規表現はPQL エスケープ ストラテジーに従います。 文字列の先頭から末尾まで置換が行われます。例えば、文字列aaを文字列aaaのbに置き換えると、abではなくbaになります。
| 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を返します。
| 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
文字列をURLとしてエンコードするには、urlEncode関数を使用します。
| code language-sql |
|---|
|