データ準備のマッピング機能

データ準備関数を使用して、ソースフィールドに入力された内容に基づいて値を計算できます。

フィールド

フィールド名には任意の正しい識別子を使用できます。Unicode 文字と数字の無制限の長さのシーケンスで、文字で始まるドル記号 ($) またはアンダースコア文字 (_) をクリックします。 変数名では大文字と小文字が区別されます。

フィールド名がこの規則に従わない場合、フィールド名はで囲む必要があります。 ${}. 例えば、フィールド名が「名」または「名」の場合、名前は次のように囲む必要があります。 ${First Name} または ${First\.Name} それぞれ。

TIP
階層を操作する際に、子属性にピリオド(.)がある場合は、バックスラッシュ(\)を使用して特殊文字をエスケープする必要があります。詳しくは、 特殊文字のエスケープ.

また、フィールド名が 任意 次の予約済みキーワードのうち、ラップする必要があります。 ${}:

new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return, _errors

サブフィールド内のデータには、ドット表記を使用してアクセスできます。 例えば、 name オブジェクト、 firstName フィールド、使用 name.firstName.

関数のリスト

次の表に、サポートされるすべてのマッピング関数と、サンプル式およびその結果の出力を示します。

文字列関数 string

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
concat
指定された文字列を連結します。
  • STRING:連結する文字列。
concat(STRING_1, STRING_2)
concat("Hi, ", "there", "!")
"Hi, there!"
explode
正規表現に基づいて文字列を分割し、部分の配列を返します。 オプションで正規表現を含めて、文字列を分割できます。 デフォルトでは、分割は「,」に解決されます。 次の区切り文字 必要 脱走する \: +, ?, ^, |, ., [, (, {, ), *, $, \ 複数の文字を区切り文字として含める場合、区切り文字は複数文字の区切り文字として扱われます。
  • 文字列: 必須 分割する必要がある文字列です。
  • 正規表現: オプション 文字列の分割に使用できる正規表現です。
explode(STRING, REGEX)
explode("Hi, there!", " ")
["Hi,", "there"]
instr
サブ文字列の場所/インデックスを返します。
  • 入力: 必須 検索する文字列です。
  • SUBSTRING: 必須 文字列内で検索される部分文字列。
  • 開始位置: オプション 文字列内で検索を開始する場所。
  • 発生件数: オプション 開始位置から検索する n 番目のオカレンス。 デフォルトの重み付けは 1 です。
instr(INPUT, SUBSTRING, START_POSITION, OCCURRENCE)
instr("adobe.com", "com")
6
replacestr
元の文字列に検索文字列が存在する場合は、その文字列を置き換えます。
  • 入力: 必須 入力文字列。
  • 検索 (_F): 必須 入力内で検索する文字列です。
  • 置換 (_R): 必須 「TO_FIND」内の値を置き換える文字列。
replacestr(INPUT, TO_FIND, TO_REPLACE)
replacestr("This is a string re test", "re", "replace")
"This is a string replace test"
substr
指定された長さのサブ文字列を返します。
  • 入力: 必須 入力文字列。
  • START_INDEX: 必須 部分文字列が開始する入力文字列のインデックスです。
  • 長さ: 必須 サブ文字列の長さ。
substr(INPUT, START_INDEX, LENGTH)
substr("This is a substring test", 7, 8)
"サブセット"
lower /
lcase
文字列を小文字に変換します。
  • 入力: 必須 小文字に変換する文字列です。
lower(INPUT)
lower("HeLLo")
lcase("HeLLo")
"hello"
upper /
ucase
文字列を大文字に変換します。
  • 入力: 必須 大文字に変換する文字列です。
upper(INPUT)
upper("HeLLo")
ucase("HeLLo")
"HELLO"
split
区切り文字で入力文字列を分割します。 次の区切り文字 ニーズ 脱走する \: \. 複数の区切り文字を含める場合、文字列は 任意 文字列内に存在する区切り文字の数を指定します。 注意: この関数は、区切り文字の有無に関係なく、文字列から null 以外のインデックスのみを返します。 結果の配列に NULL を含むすべてのインデックスが必要な場合は、代わりに「explode」関数を使用します。
  • 入力: 必須 分割する入力文字列です。
  • 区切り文字: 必須 入力を分割するために使用される文字列です。
split(INPUT, SEPARATOR)
split("Hello world", " ")
["Hello", "world"]
join
区切り記号を使用してオブジェクトのリストを結合します。
  • 区切り文字: 必須 オブジェクトの結合に使用する文字列。
  • オブジェクト: 必須 結合される文字列の配列。
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
"Hello world"
lpad
文字列の左側を他の指定された文字列でパディングします。
  • 入力: 必須 パドアウトする文字列です。 この文字列は null にすることができます。
  • カウント: 必須 埋め込む文字列のサイズです。
  • パディング: 必須 入力を埋め込む文字列です。 null または空の場合は、1 つのスペースとして扱われます。
lpad(INPUT, COUNT, PADDING)
lpad("bat", 8, "yz")
"yzyzybat"
rpad
文字列の右側を他の指定された文字列でパディングします。
  • 入力: 必須 パドアウトする文字列です。 この文字列は null にすることができます。
  • カウント: 必須 埋め込む文字列のサイズです。
  • パディング: 必須 入力を埋め込む文字列です。 null または空の場合は、1 つのスペースとして扱われます。
rpad(INPUT, COUNT, PADDING)
rpad("bat", 8, "yz")
"batyzy"
left
指定された文字列の最初の「n」文字を取得します。
  • 文字列: 必須 最初の「n」文字を取得する文字列です。
  • カウント: 必須 ​文字列から取得する「n」文字。
left(STRING, COUNT)
left("abcde", 2)
"ab"
指定された文字列の最後の「n」文字を取得します。
  • 文字列: 必須 最後の「n」文字を取得する文字列です。
  • カウント: 必須 ​文字列から取得する「n」文字。
right(STRING, COUNT)
right("abcde", 2)
"de"
ltrim
文字列の先頭から空白を削除します。
  • 文字列: 必須 空白を削除する文字列です。
ltrim(STRING)
ltrim("hello")
"hello"
rtrim
文字列の末尾から空白を削除します。
  • 文字列: 必須 空白を削除する文字列です。
rtrim(STRING)
rtrim("hello ")
"hello"
trim
文字列の先頭と末尾から空白を削除します。
  • 文字列: 必須 空白を削除する文字列です。
trim(STRING)
trim(" hello ")
"hello"
次と等しい
2 つの文字列を比較し、等しいかどうかを確認します。 この関数では大文字と小文字が区別されます。
  • 文字列 1: 必須 比較する最初の文字列です。
  • 文字列 2: 必須 比較する 2 番目の文字列です。
STRING1​.equals( ​ STRING2)
"string1"です​。equals(​"STRING1")
false
equalsIgnoreCase
2 つの文字列を比較し、等しいかどうかを確認します。 この関数は、 not 大文字と小文字を区別します。
  • 文字列 1: 必須 比較する最初の文字列です。
  • 文字列 2: 必須 比較する 2 番目の文字列です。
STRING1​.equalsIgnoreCase(​STRING2)
"string1"です​。equalsIgnoreCase​("STRING1)
true

正規表現関数

関数
説明
パラメーター
構文
サンプル出力
extract_regex
正規表現に基づいて、入力文字列からグループを抽出します。
  • 文字列: 必須 グループを抽出する文字列です。
  • 正規表現: 必須 グループに一致させる正規表現です。
extract_regex(STRING, REGEX)
extract_regex​("E259,E259B_009,1_1", ​ "([,]+),[,]*,([^,]+)")
["E259,E259B_009,1_1", "E259", "1_1"]
matches_regex
文字列が入力された正規表現と一致するかどうかを確認します。
  • 文字列: 必須 チェックする文字列は、正規表現と一致します。
  • 正規表現: 必須 比較する正規表現です。
matches_regex(STRING, REGEX)
matches_regex("E259,E259B_009,1_1", "([,]+),[,]*,([^,]+)")
true

ハッシュ関数 hashing

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
sha1
入力を受け取り、Secure Hash Algorithm 1(SHA-1) を使用してハッシュ値を生成します。
  • 入力: 必須 ハッシュ化するプレーンテキスト。
  • 文字セット: オプション 文字セットの名前。 UTF-8、UTF-16、ISO-8859-1、US-ASCII などの値が使用できます。
sha1(INPUT, CHARSET)
sha1("my text", "UTF-8")
c3599c11e47719df18a24 ​ 48690840c5dfcce3c80
sha256
入力を受け取り、Secure Hash Algorithm 256(SHA-256) を使用してハッシュ値を生成します。
  • 入力: 必須 ハッシュ化するプレーンテキスト。
  • 文字セット: オプション 文字セットの名前。 UTF-8、UTF-16、ISO-8859-1、US-ASCII などの値が使用できます。
sha256(INPUT, CHARSET)
sha256("my text", "UTF-8")
7330d2b39ca35eaf4cb95fc846c21​ ee6a39af698154a83a586ee270a0d372104
sha512
入力を受け取り、Secure Hash Algorithm 512(SHA-512) を使用してハッシュ値を生成します。
  • 入力: 必須 ハッシュ化するプレーンテキスト。
  • 文字セット: オプション 文字セットの名前。 UTF-8、UTF-16、ISO-8859-1、US-ASCII などの値が使用できます。
sha512(INPUT, CHARSET)
sha512("my text", "UTF-8")
a3d7e45a0d9be5fd4e4b9a3b8c9c2163c21​ef 708bf11b4232bb21d2a8704ada2cdcd7b367dd0788a89 ​ a5c908cfe377aceb1072a7b386b7d4fd2ff68a8fd24d16
md5
入力を受け取り、MD5 を使用してハッシュ値を生成します。
  • 入力: 必須 ハッシュ化するプレーンテキスト。
  • 文字セット: オプション 文字セットの名前。 UTF-8、UTF-16、ISO-8859-1、US-ASCII などの値が使用できます。
md5(INPUT, CHARSET)
md5("my text", "UTF-8")
d3b96ce8c9fb4 ​ e9bd0198d03ba6852c7
crc32
入力では、Cyclic Redundancy Check(CRC;巡回冗長検査)アルゴリズムを使用して、32 ビットの巡回コードを生成します。
  • 入力: 必須 ハッシュ化するプレーンテキスト。
  • 文字セット: オプション 文字セットの名前。 UTF-8、UTF-16、ISO-8859-1、US-ASCII などの値が使用できます。
crc32(INPUT, CHARSET)
crc32("my text", "UTF-8")
8df92e80

URL 関数 url

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
get_url_protocol
指定された URL からプロトコルを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 プロトコルの抽出元の URL。
get_url_protocol(​URL)
get_url_protocol("https://platform ​ .adobe.com/home")
https
get_url_host
指定された URL のホストを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 ホストの抽出元の URL。
get_url_host(​URL)
get_url_host("​https://platform .adobe.com/home​")
platform.adobe.com
get_url_port
指定された URL のポートを返します。 入力が無効な場合は、null を返します。
  • URL: 必須 ポートの抽出元の URL。
get_url_port(URL)
get_url_port("​sftp://example.com//home/ joe/employee.csv​")
22
get_url_path
指定された URL のパスを返します。 デフォルトでは、完全なパスが返されます。
  • URL: 必須 パスの抽出元の URL。
  • FULL_PATH: オプション フルパスが返されるかどうかを決定する boolean 値です。 false に設定した場合は、パスの終わりのみが返されます。
get_url_path(​URL, FULL_PATH)
get_url_path("​sftp://example.com// home/joe/employee.csv​")
"//home/joe/ ​ employee.csv"
get_url_query_str
指定された URL のクエリ文字列を、クエリ文字列名とクエリ文字列値のマップとして返します。
  • URL: 必須 クエリ文字列を取得しようとしている URL です。
  • アンカー: 必須 クエリ文字列内のアンカーを使用して何をおこなうかを決定します。 "retain"、"remove"、"append"の 3 つの値のいずれかを指定できます。

    値が「retain」の場合、返される値にアンカーがアタッチされます。
    値が「remove」の場合、返される値からアンカーが削除されます。
    値が「append」の場合、アンカーは別の値として返されます。
get_url_query_str(​URL, ANCHOR)
get_url_query_str("foo://example.com:8042​/over/there?name= ​ ferret#nose", "retain")
get_url_query_str("foo://example.com:8042​/over/there?name= ​ ferret#nose", "remove")
get_url_query_str("​foo://example.com:8042/over/there​?name=ferret#nose", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}
get_url_encoded
この関数は、URL を入力として受け取り、特殊文字を ASCII 文字に置き換えるか、エンコードします。 特殊文字の詳細については、 特殊文字のリスト 」を参照してください。
  • URL: 必須 ASCII 文字に置き換えるかエンコードする特殊文字を含む入力 URL。
get_url_encoded(URL)
get_url_encoded("https}://example.com/partneralliance_asia-pacific_2022")
https%3A%2F%2Fexample.com%2Fpartneralliance_asia-pacific_2022
get_url_decoded
この関数は、URL を入力として受け取り、ASCII 文字を特殊文字にデコードします。 特殊文字の詳細については、 特殊文字のリスト 」を参照してください。
  • URL: 必須 特殊文字にデコードする ASCII 文字を含む入力 URL。
get_url_decoded(URL)
get_url_decoded("https%3A%2F%2Fexample.com%2Fpartneralliance_asia-pacific_2022")
https://example.com/partneralliance_asia-pacific_2022

日付および時間関数 date-and-time

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。 詳しくは、 date 関数は、 データ形式処理ガイド.
関数
説明
パラメーター
構文
サンプル出力
now
現在の時刻を取得します。
now()
now()
2021-10-26T10:10:24Z
timestamp
現在の Unix 時間を取得します。
timestamp()
timestamp()
1571850624571
format
指定された形式に従って入力日をフォーマットします。
  • 日付: 必須 形式を設定する ZonedDateTime オブジェクトとしての入力日。
  • 形式: 必須 日付の変更先の形式を指定します。
format(DATE, FORMAT)
format(2019-10-23T11):24:00+00:00, "yyyy-MM-dd HH:mm:ss")
2019-10-23 11:24:35
dformat
指定された形式に従ってタイムスタンプを日付文字列に変換します。
  • タイムスタンプ: 必須 形式を設定するタイムスタンプです。 これはミリ秒単位で書き込まれます。
  • 形式: 必須 タイムスタンプを取得する形式を指定します。
dformat(TIMESTAMP, FORMAT)
dformat(1571829875000, "yyyy-MM-dd'T'HH:mm:ss.SSSX")
2019-10-23T11:24:35.000Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • 日付: 必須 日付を表す文字列です。
  • 形式: 必須 ソースの日付の形式を表す文字列です。注意: これは、 not は、日付文字列の変換先の形式を表します。
  • DEFAULT_DATE: 必須 指定された日付が null の場合に返されるデフォルトの日付。
date(DATE, FORMAT, DEFAULT_DATE)
date("2019-10-23 11:24", "yyyy-MM-dd HH:mm", now())
2019-10-23T11:24:00Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • 日付: 必須 日付を表す文字列です。
  • 形式: 必須 ソースの日付の形式を表す文字列です。注意: これは、 not は、日付文字列の変換先の形式を表します。
date(DATE, FORMAT)
date("2019-10-23 11:24", "yyyy-MM-dd HH:mm")
2019-10-23T11:24:00Z
date
日付文字列を ZonedDateTime オブジェクト(ISO 8601 形式)に変換します。
  • 日付: 必須 日付を表す文字列です。
date(DATE)
date("2019-10-23 11:24")
"2019-10-23T11:24:00Z"
date_part
日付の一部を取得します。次のコンポーネント値がサポートされています。

"year"
"yyyy"
"yy"

"quarter"
"qq"
"q"

"month"
"mm"
"m"

"dayofyear"
"dy"
"y"

"day"
"dd"
"d"

"週"
"ww"
"w"

"weekday"
"dw"
"w"

"hour"
"hh"
"hh24"
"hh12"

"minute"
"mi"
"n"

"second"
"ss"
"s"

"millisecond"
"SSS"
  • コンポーネント: 必須 日付の部分を表す文字列です。
  • 日付: 必須 標準形式の日付。
date_part(​COMPONENT, DATE)
date_part("MM", date("2019-10-17 11:55:12"))
10
set_date_part
指定された日付のコンポーネントを置き換えます。次のコンポーネントが受け入れられます。

"year"
"yyyy"
"yy"

"month"
"mm"
"m"

"day"
"dd"
"d"

"hour"
"hh"

"minute"
"mi"
"n"

"second"
"ss"
"s"
  • コンポーネント: 必須 日付の部分を表す文字列です。
  • 値: 必須 指定した日付のコンポーネントに設定する値。
  • 日付: 必須 標準形式の日付。
set_date_part(​COMPONENT, VALUE, DATE)
set_date_part("m", 4, date("2016-11-09T11:44:44.797")
"2016-04-09T11:44:44Z"
make_date_time
パーツから日付を作成します。 この関数は、make_timestamp を使用して誘導することもできます。
  • 年: 必須 年は 4 桁で書かれました
  • 月: 必須 月。 使用できる値は 1 ~ 12 です。
  • 日: 必須 1 日。 使用できる値は 1 ~ 31 です。
  • 時間: 必須 時間。 使用できる値は 0 ~ 23 です。
  • 分: 必須 分。 使用できる値は 0 ~ 59 です。
  • ナノ秒: 必須 ナノ秒の値。 使用できる値は 0 ~ 999999999です。
  • タイムゾーン: 必須 日時のタイムゾーン。
make_date_time(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, NANOSECOND, TIMEZONE)
make_date_time(2019, 10, 17, 11, 55, 12, 999, "America/Los_Angeles")
2019-10-17T11:55:12Z
zone_date_to_utc
任意のタイムゾーンの日付を UTC での日付に変換します。
  • 日付: 必須 変換しようとしている日付です。
zone_date_to_utc(​DATE)
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
zone_date_to_zone
あるタイムゾーンから別のタイムゾーンに日付を変換します。
  • 日付: 必須 変換しようとしている日付です。
  • ゾーン: 必須 日付を変換しようとしているタイムゾーンです。
zone_date_to_zone(​DATE, ZONE)
zone_date_to_utc​(now(), "Europe/Paris")
2021-10-26T15:43:59Z

階層 — オブジェクト objects

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
is_empty
オブジェクトが空かどうかを確認します。
  • 入力: 必須 確認しようとしているオブジェクトが空です。
is_empty(INPUT)
is_empty([1, null, 2, 3])
false
arrays_to_object
オブジェクトのリストを作成します。
  • 入力: 必須 キーと配列のペアのグループ。
arrays_to_object(INPUT)
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
to_object
指定されたフラットなキーと値のペアに基づいてオブジェクトを作成します。
  • 入力: 必須 キーと値のペアのフラットなリスト。
to_object(INPUT)
to_object​("firstName", "John", "lastName", "Doe")
{"firstName": "John", "lastName": "Doe"}
str_to_object
入力文字列からオブジェクトを作成します。
  • 文字列: 必須 オブジェクトを作成するために解析される文字列。
  • 値の区切り: オプション フィールドを値から区切る区切り文字。 デフォルトの区切り文字は :.
  • FIELD_DELIMITER: オプション フィールド値のペアを区切る区切り文字。 デフォルトの区切り文字は ,.
str_to_object(​STRING, VALUE_DELIMITER, FIELD_DELIMITER) 注意: get() ~と共に機能する str_to_object() を使用して、文字列内のキーの値を取得します。
  • 例#1: str_to_object("firstName - John ; lastName - ; - 123 345 7890", "-", ";")
  • 例#2: str_to_object("firstName - John ; lastName - ; phone - 123 456 7890", "-", ";").get("firstName")
  • 例#1:{"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"}
  • 例#2: "John"
contains_key
ソースデータ内にオブジェクトが存在するかどうかを確認します。 注意: この関数は、非推奨の is_set() 関数に置き換えます。
  • 入力: 必須 ソースデータ内に存在する場合に確認するパス。
contains_key(INPUT)
contains_key("evars.evar.field1")
true
無効にする
属性の値をに設定します。 null. これは、フィールドをターゲットスキーマにコピーしない場合に使用します。
nullify()
nullify()
null
get_keys
キーと値のペアを解析し、すべてのキーを返します。
  • オブジェクト: 必須 キーの抽出元のオブジェクト。
get_keys(OBJECT)
get_keys({"book1": "Pride and Pairands", "book2": "1984"})
["book1", "book2"]
get_values
キーと値のペアを解析し、指定されたキーに基づいて文字列の値を返します。
  • 文字列: 必須 解析する文字列です。
  • キー: 必須 値を抽出するキー。
  • 値の区切り: 必須 フィールドと値を区切る区切り文字。 次のいずれかの場合、 null または空の文字列が指定された場合、この値は :.
  • FIELD_DELIMITER: オプション フィールドと値のペアを区切る区切り文字。 次のいずれかの場合、 null または空の文字列が指定された場合、この値は ,.
get_values(STRING, KEY, VALUE_DELIMITER, FIELD_DELIMITER)
get_values("firstName - John , lastName - Cena , phone - 555 420 8692", "-", ",")
John
map_get_values
マップとキー入力を取得します。 入力が単一のキーの場合、この関数はそのキーに関連付けられた値を返します。 入力が文字列配列の場合、この関数は指定されたキーに対応するすべての値を返します。 受信マップに重複するキーがある場合、戻り値はキーの重複を排除し、一意の値を返す必要があります。
  • マップ: 必須 入力マップデータ。
  • キー: 必須 キーは、単一の文字列または文字列配列です。 他のプリミティブ型(データ/数値)が指定されている場合は、文字列として扱われます。
get_values(MAP, KEY)
詳しくは、 付録 を参照してください。
map_has_keys
1 つ以上の入力キーが指定されている場合、この関数は true を返します。 文字列配列を入力として指定した場合、この関数は、見つかった最初のキーに対して true を返します。
  • マップ: 必須 入力マップデータ
  • キー: 必須 キーは、単一の文字列または文字列配列です。 他のプリミティブ型(データ/数値)が指定されている場合は、文字列として扱われます。
map_has_keys(MAP, KEY)
詳しくは、 付録 を参照してください。
add_to_map
2 つ以上の入力を受け入れます。 任意の数のマップを入力として指定できます。 Data Prep は、すべての入力からすべてのキーと値のペアを持つ単一のマップを返します。 1 つ以上のキーが同じマップ内または複数のマップ間で繰り返される場合、Data Prep はキーの重複を排除し、最初のキーと値のペアが入力で渡された順に保持されるようにします。
マップ: 必須 入力マップデータ。
add_to_map(MAP 1, MAP 2, MAP 3, …)
詳しくは、 付録 を参照してください。
object_to_map (構文 1)
Map データ型を作成するには、この関数を使用します。
  • キー: 必須 キーは文字列である必要があります。 整数や日付などの他のプリミティブ値が指定された場合、それらは文字列に自動変換され、文字列として扱われます。
  • ANY_TYPE: 必須 マップを除く、サポートされている任意の XDM データタイプを参照します。
object_to_map(KEY, ANY_TYPE, KEY, ANY_TYPE, … )
詳しくは、 付録 を参照してください。
object_to_map (構文 2)
Map データ型を作成するには、この関数を使用します。
  • オブジェクト: 必須 受け取るオブジェクトまたはオブジェクト配列を指定し、オブジェクト内の属性をキーとして指定できます。
object_to_map(OBJECT)
詳しくは、 付録 を参照してください。
object_to_map (構文 3)
Map データ型を作成するには、この関数を使用します。
  • オブジェクト: 必須 受け取るオブジェクトまたはオブジェクト配列を指定し、オブジェクト内の属性をキーとして指定できます。
object_to_map(OBJECT_ARRAY, ATTRIBUTE_IN_OBJECT_TO_BE_USED_AS_A_KEY)
詳しくは、 付録 を参照してください。

オブジェクトのコピーフィーチャーの詳細については、「 below.

階層 — 配列 arrays

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
coalesce
指定された配列内の最初の null 以外のオブジェクトを返します。
  • 入力: 必須 の最初の null 以外のオブジェクトを検索する配列です。
coalesce(INPUT)
coalesce(null, null, null, "first", null, "second")
"first"
first
指定された配列の最初の要素を取得します。
  • 入力: 必須 最初の要素を検索する配列です。
first(INPUT)
first("1", "2", "3")
"1"
last
指定された配列の最後の要素を取得します。
  • 入力: 必須 最後の要素を検索する配列です。
last(INPUT)
last("1", "2", "3")
"3"
add_to_array
配列の末尾に要素を追加します。
  • 配列: 必須 要素を追加する配列。
  • VALUES:配列に追加する要素です。
add_to_array(ARRAY, VALUES​)
add_to_array( ​['a', 'b'], 'c', 'd')
['a', 'b', 'c', 'd']
join_arrays
配列を相互に結合します。
  • 配列: 必須 要素を追加する配列。
  • VALUES:親配列に追加する配列。
join_arrays(​ARRAY, VALUES)
join_arrays​(['a', 'b'], ['c'], ['d', 'e'])
['a'、'b'、'c'、'd'、'e']
to_array
入力のリストを取得し、配列に変換します。
  • INCLUDE_NULLS: 必須 応答配列に NULL を含めるかどうかを示す boolean 値です。
  • 値: 必須 配列に変換する要素。
to_array(​INCLUDE_NULLS, VALUES)
to_array(false, 1, null, 2, 3)
[1, 2, 3]
size_of
入力のサイズを返します。
  • 入力: 必須 サイズを探しているオブジェクト。
size_of(INPUT)
size_of([1, 2, 3, 4])
4
upsert_array_append
この関数は、入力配列全体のすべての要素を、プロファイルの配列の末尾に追加するために使用します。 この関数は、 のみ 更新時に適用されます。 挿入のコンテキストで使用する場合、この関数は入力をそのまま返します。
  • 配列: 必須 プロファイルに配列を追加する配列です。
upsert_array_append(ARRAY)
upsert_array_append([123, 456])
[123, 456]
upsert_array_replace
この関数は、配列内の要素を置き換えるために使用されます。 この関数は、 のみ 更新時に適用されます。 挿入のコンテキストで使用する場合、この関数は入力をそのまま返します。
  • 配列: 必須 プロファイル内の配列を置き換える配列。
upsert_array_replace(ARRAY)
upsert_array_replace([123, 456], 1)
[123, 456]

階層 — マップ map

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
array_to_map
この関数は、オブジェクト配列とキーを入力として受け取り、値をキー、配列要素を値とするキーのフィールドのマップを返します。
  • 入力: 必須 の最初の null 以外のオブジェクトを検索するオブジェクト配列。
  • キー: 必須 キーは、オブジェクト配列内のフィールド名、オブジェクトは値として指定する必要があります。
array_to_map(OBJECT[] 入力、キー )
詳しくは、 付録 を参照してください。
object_to_map
この関数は、オブジェクトを引数として受け取り、キーと値のペアのマップを返します。
  • 入力: 必須 の最初の null 以外のオブジェクトを検索するオブジェクト配列。
object_to_map(OBJECT_INPUT)
"object_to_map(address) ここで、入力が" + "住所: {line1 : "345 park ave",line2: "bldg 2",市区町村:"san jose",都道府県:"CA",type: "office"}"の場合は次のようになります。"
指定されたフィールド名と値のペアを持つマップを返します。入力が null の場合は null を返します。 例:"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
to_map
この関数は、キーと値のペアのリストを取得し、キーと値のペアのマップを返します。
to_map(OBJECT_INPUT)
"to_map("firstName", "John", "lastName", "Doe")"
指定されたフィールド名と値のペアを持つマップを返します。入力が null の場合は null を返します。 例:"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"

論理演算子 logical-operators

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
decode
キーと、キーと値のペアのリストが配列としてフラット化されている場合、この関数は、キーが見つかった場合は値を返し、デフォルト値が配列に存在する場合はデフォルト値を返します。
  • キー: 必須 照合するキー。
  • OPTIONS: 必須 キーと値のペアのフラット化された配列。 オプションで、デフォルト値を末尾に配置できます。
decode(KEY,OPTIONS)
decode(stateCode, "ca", "California", "pa", "Pennsylvania", "N/A")
指定された stateCode が「ca」、「California」の場合。
stateCode が「pa」の場合は、「Pennsylvania」です。
stateCode が以下と一致しない場合は、「N/A」となります。
iif
指定されたブール式を評価し、結果に基づいて指定された値を返します。
  • 式: 必須 評価されるブール式です。
  • TRUE_VALUE: 必須 式の値が true の場合に返される値です。
  • FALSE_VALUE: 必須 式の値が false の場合に返される値です。
iif(EXPRESSION, TRUE_VALUE, FALSE_VALUE)
iif("s".equalsIgnoreCase("S"), "True", "False")
"True"

集計 aggregation

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
min
指定された引数の最小値を返します。自然な順序を使用します。
  • OPTIONS: 必須 互いに比較できる 1 つ以上のオブジェクト。
min(OPTIONS)
min(3, 1, 4)
1
max
指定された引数の最大値を返します。自然な順序を使用します。
  • OPTIONS: 必須 互いに比較できる 1 つ以上のオブジェクト。
max(OPTIONS)
max(3, 1, 4)
4

タイプコンバージョン type-conversions

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
to_bigint
文字列を BigInteger に変換します。
  • 文字列: 必須 BigInteger に変換する文字列です。
to_bigint(STRING)
to_bigint(​"1000000.34")
1000000.34
to_decimal
文字列を Double に変換します。
  • 文字列: 必須 倍精度浮動小数点型 (Double) の値に変換する文字列を指定します。
to_decimal(STRING)
to_decimal("20.5")
20.5
to_float
文字列を浮動小数に変換します。
  • 文字列: 必須 浮動小数点型 (Float) に変換する文字列を指定します。
to_float(STRING)
to_float("12.3456")
12.34566
to_integer
文字列を整数に変換します。
  • 文字列: 必須 整数に変換する文字列を指定します。
to_integer(STRING)
to_integer("12")
12

JSON 関数 json

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
json_to_object
指定された文字列から JSON コンテンツを逆シリアル化します。
  • 文字列: 必須 シリアル化を解除する JSON 文字列。
json_to_object(​STRING)
json_to_object​({"info":{"firstName":"John","lastName":"Doe"}})
JSON を表すオブジェクト。

特別な操作 special-operations

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
uuid /
guid
擬似ランダム ID を生成します。
uuid()
guid()
uuid()
guid()
7c0267d2-bb74-4e1a-9275-3bf4fccda5f4
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
この関数は、FPID 文字列を受け取り、それを ECID に変換して、Adobe Experience PlatformおよびAdobe Experience Cloudアプリケーションで使用します。
  • 文字列: 必須 ECID に変換する FPID 文字列。
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"

ユーザーエージェントの関数 user-agent

以下の表に示すユーザーエージェント関数は、次のいずれかの値を返すことができます。

  • 電話 — 小さい画面を持つモバイルデバイス(一般的に < 7")
  • モバイル — 未識別のモバイルデバイス。 このモバイルデバイスは、eReader、タブレット、電話、時計などです。

デバイスフィールドの値の詳細については、 デバイスフィールド値のリスト 」を参照してください。

NOTE
テーブルのコンテンツをすべて表示するには、左右にスクロールしてください。
関数
説明
パラメーター
構文
サンプル出力
ua_os_name
ユーザーエージェント文字列からオペレーティングシステム名を抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_name(​USER_AGENT)
ua_os_name(「Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3」)
iOS
ua_os_version_major
ユーザーエージェント文字列からオペレーティングシステムのメジャーバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_version_major(​USER_AGENT)
ua_os_version_major s("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3")
iOS 5
ua_os_version
ユーザーエージェント文字列からオペレーティングシステムのバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_version(​USER_AGENT)
ua_os_version("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3")
5.1.1
ua_os_name_version
ユーザーエージェント文字列からオペレーティングシステムの名前とバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_os_name_version(​USER_AGENT)
ua_os_name_version("Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3")
iOS 5.1.1
ua_agent_version
ユーザーエージェント文字列からエージェントのバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_version(USER_​AGENT)
ua_agent_version(「Mozilla/5.0(iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML、Gecko など) Version/5.1 Mobile/9B206 Safari/7534.48.3」)
5.1
ua_agent_version_major
ユーザーエージェント文字列からエージェント名とメジャーバージョンを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_version_major(​USER_AGENT)
ua_agent_version_major(「Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3」)
Safari 5
ua_agent_name
ユーザーエージェント文字列からエージェント名を抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_agent_name(​USER_AGENT)
ua_agent_name(「Mozilla/5.0(iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46(KHTML、Gecko など) Version/5.1 Mobile/9B206 Safari/7534.48.3」)
Safari
ua_device_class
ユーザーエージェント文字列からデバイスクラスを抽出します。
  • USER_AGENT: 必須 ユーザーエージェント文字列。
ua_device_class(​USER_AGENT)
ua_device_class(「Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3」)
Phone

Analytics 関数 analytics

NOTE
ストリーミング取り込みには、次の分析機能のみを使用できます。
関数
説明
パラメーター
構文
サンプル出力
aa_get_event_id
Analytics イベント文字列からイベント ID を抽出します。
  • EVENT_STRING: 必須 コンマ区切りの Analytics イベント文字列。
  • EVENT_NAME: 必須 抽出するイベント名と ID。
aa_get_event_id(EVENT_STRING, EVENT_NAME)
aa_get_event_id("event101=5:123456,scOpen", "event101")
123456
aa_get_event_value
Analytics イベント文字列からイベント値を抽出します。 イベントの値が指定されていない場合は、1 が返されます。
  • EVENT_STRING: 必須 コンマ区切りの Analytics イベント文字列。
  • EVENT_NAME: 必須 値の抽出元のイベント名。
aa_get_event_value(EVENT_STRING, EVENT_NAME)
aa_get_event_value("event101=5:123456,scOpen", "event101")
5
aa_get_product_categories
Analytics 製品文字列から製品カテゴリを抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
aa_get_product_categories(PRODUCTS_STRING)
aa_get_product_categories(";例:product 1;1;3.50,例:category 2;例:product 2;1;5.99")
[null,"例, category 2"]
aa_get_product_names
Analytics 製品文字列から製品名を抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
aa_get_product_names(PRODUCTS_STRING)
aa_get_product_names(";例:product 1;1;3.50,例:category 2;例:product 2;1;5.99")
["Example product 1","Example product 2"]
aa_get_product_quantities
Analytics の製品文字列から数量を抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
aa_get_product_quantities(PRODUCTS_STRING)
aa_get_product_quantities(";例:product 1;1;3.50,例:category 2;例:product 2")
["1", null]
aa_get_product_prices
Analytics 製品文字列から価格を抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
aa_get_product_prices(PRODUCTS_STRING)
aa_get_product_prices(";例:product 1;1;3.50,例:category 2;例:product 2")
["3.50", null]
aa_get_product_event_values
名前付きイベントの値を製品文字列から文字列の配列として抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
  • EVENT_NAME: 必須 値の抽出元のイベント名。
aa_get_product_event_values(PRODUCTS_STRING, EVENT_NAME)
aa_get_product_event_values(";例:product 1;1;4.20;event1=2.3|event2=5:1,;例:product 2;1;4.20;event1=3|event2=2:2", "event1")
["2.3", "3"]
aa_get_product_evars
指定されたイベントの evar 値を製品文字列から文字列の配列として抽出します。
  • PRODUCTS_STRING: 必須 Analytics の製品文字列。
  • EVAR名: 必須 抽出するeVar名。
aa_get_product_evars(PRODUCTS_STRING, EVENT_NAME)
aa_get_product_evars(";Example product;1;6.69;;eVar1=マーチャンダイジング値", "eVar1")
["マーチャンダイジング値"]

オブジェクトのコピー object-copy

TIP
ソース内のオブジェクトが XDM 内のオブジェクトにマッピングされると、オブジェクトコピー機能が自動的に適用されます。 ユーザーから追加のアクションは不要です。

オブジェクトのコピー機能を使用すると、マッピングを変更せずに、オブジェクトの属性を自動的にコピーできます。 例えば、ソースデータの構造が次のようになっているとします。

address{
        line1: 4191 Ridgebrook Way,
        city: San Jose,
        state: California
        }

と以下の XDM 構造

addr{
    addrLine1: 4191 Ridgebrook Way,
    city: San Jose,
    state: California
    }

マッピングは次のようになります。

address -> addr
address.line1 -> addr.addrLine1

上記の例では、 city および state また、属性は実行時に自動的に取り込まれます。 address オブジェクトが addr. 以下を作成する場合、 line2 属性を XDM 構造の中に追加し、入力データにも line2 (内) address オブジェクトの場合は、マッピングを手動で変更する必要なく、自動的に取り込まれます。

自動マッピングが確実に機能するようにするには、次の前提条件を満たす必要があります。

  • 親レベルのオブジェクトをマッピングする必要がある。
  • 新しい属性が XDM スキーマで作成されている必要があります。
  • 新しい属性には、ソーススキーマと XDM スキーマで一致する名前が必要です。

いずれかの前提条件が満たされない場合は、データ準備を使用してソーススキーマを XDM スキーマに手動でマッピングする必要があります。

付録

次に、Data Prep マッピング関数の使用に関する追加情報を示します

特殊文字 special-characters

次の表に、予約文字と、対応するエンコード済み文字の一覧を示します。

予約文字
エンコードされた文字
space
%20
!
%21
%22
#
%23
$
%24
%
%25
&
%26
'
%27
%28
%29
*
%2A
+
%2B
,
%2C
/
%2F
%3A
%3B
<
%3C
=
%3D
>
%3E
?
%3F
@
%40
[
%5B
]
%5D
^
%5E
`
%60
~
%7E

デバイスフィールドの値 device-field-values

次の表に、デバイスフィールドの値のリストと、対応する説明の概要を示します。

デバイス
説明
Desktop
デスクトップまたはノート PC のタイプのデバイス。
匿名化
匿名デバイス。 場合によっては、次のようになります。 useragents 匿名化ソフトウェアによって変更された
不明
不明なデバイス。 これらは通常、 useragents には、デバイスに関する情報が含まれていません。
Mobile
識別されていないモバイルデバイス。 このモバイルデバイスは、eReader、タブレット、電話、時計などです。
タブレットなど)のアクティブマーカーを確認する。
大きな画面を持つモバイルデバイス(一般的に 7 インチを超える)。
Phone
小さい画面を持つモバイルデバイス(一般的に 7 未満)。
所要時間
画面が小さいモバイルデバイス(一般的に < 2") これらのデバイスは、通常、スマートフォン/タブレットタイプのデバイスの追加の画面として動作します。
拡張現実
AR 機能を備えたモバイルデバイス。
仮想現実
VR 機能を備えたモバイルデバイス。
eReader
タブレットに似ているが、通常は eInk 画面。
セットトップボックス
TV サイズの画面を介したインタラクションを可能にする接続デバイス。
TV
セットトップボックスに似ていますが、TV に組み込まれているデバイスです。
ホームアプライアンス
冷蔵庫のような(通常は大きな)家庭用器具。
ゲームコンソール
のような固定ゲームシステム Playstation または XBox.
ハンドヘルドゲームコンソール
のようなモバイルゲームシステム Nintendo Switch.
ボイス
のような音声駆動デバイス Amazon Alexa または Google Home.
車両ベースのブラウザー。
ロボット
Web サイトを訪問するロボット。
Robot Mobile
Web サイトを訪問したが、モバイル訪問者として認識されたいことを示すロボット。
ロボットイミテータ
Web サイトを訪問するロボットで、のようなロボットのふりをする Googleですが、実際にはそうではありません。 注意:ほとんどの場合、ロボットイミテーターは実際にはロボットです。
クラウド
クラウドベースのアプリケーション。 これらはロボットでもハッカーでもなく、接続する必要のあるアプリケーションです。 これには以下が含まれます。 Mastodon サーバー。
ハッカー
このデバイス値は、 useragent 文字列。

コードサンプル code-samples

map_get_values map-get-values

選択して例を表示
code language-json
 example = "map_get_values(book_details,\"author\") where input is : {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}",
      result = "{\"author\": \"George R. R. Martin\"}"

map_has_keys map_has_keys

選択して例を表示
code language-json
 example = "map_has_keys(book_details,\"author\")where input is : {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}",
      result = "true"

add_to_map add_to_map

選択して例を表示
code language-json
example = "add_to_map(book_details, book_details2) where input is {\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "    }\n" +
        "}" +
        "{\n" +
        "    \"book_details2\":\n" +
        "    {\n" +
        "        \"author\": \"Neil Gaiman\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-0-380-97365-0\"\n" +
        "        \"publisher\": \"William Morrow\"\n" +
        "    }\n" +
        "}",
      result = "{\n" +
        "    \"book_details\":\n" +
        "    {\n" +
        "        \"author\": \"George R. R. Martin\",\n" +
        "        \"price\": 17.99,\n" +
        "        \"ISBN\": \"ISBN-978-0553801477\"\n" +
        "        \"publisher\": \"William Morrow\"\n" +
        "    }\n" +
        "}",
      returns = "A new map with all elements from map and addends"

object_to_map object_to_map

構文 1

選択して例を表示
code language-json
example = "object_to_map(\"firstName\", \"John\", \"lastName\", \"Doe\")",
result = "{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"

構文 2

選択して例を表示
code language-json
example = "object_to_map(address) where input is " +
  "address: {line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}",
result = "{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"

構文 3

選択して例を表示
code language-json
example = "object_to_map(addresses,type)" +
        "\n" +
        "[\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City\": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"home\"\n" +
        "    },\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"work\"\n" +
        "    },\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"office\"\n" +
        "    }\n" +
        "]" ,
result = "{\n" +
        "    \"home\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City\": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"home\"\n" +
        "    },\n" +
        "    \"work\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"work\"\n" +
        "    },\n" +
        "    \"office\":\n" +
        "    {\n" +
        "        \"line1\": \"345 park ave\",\n" +
        "        \"line2\": \"bldg 2\",\n" +
        "        \"City \": \"san jose\",\n" +
        "        \"State\": \"CA\",\n" +
        "        \"type\": \"office\"\n" +
        "    }\n" +
        "}"

array_to_map array_to_map

選択して例を表示
code language-json
example = "array_to_map(addresses, \"type\") where addresses is\n" +
  "\n" +
  "[\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City\": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"home\"\n" +
  "    },\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"work\"\n" +
  "    },\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"office\"\n" +
  "    }\n" +
  "]" ,
result = "{\n" +
  "    \"home\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City\": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"home\"\n" +
  "    },\n" +
  "    \"work\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"work\"\n" +
  "    },\n" +
  "    \"office\":\n" +
  "    {\n" +
  "        \"line1\": \"345 park ave\",\n" +
  "        \"line2\": \"bldg 2\",\n" +
  "        \"City \": \"san jose\",\n" +
  "        \"State\": \"CA\",\n" +
  "        \"type\": \"office\"\n" +
  "    }\n" +
  "}",
returns = "Returns a map with given field name and value pairs or null if input is null"
recommendation-more-help
461cc884-c234-4a0c-ac75-6efbaafc1394