資料準備映射函式

資料準備函式可用於根據在源欄位中輸入的內容計算和計算值。

欄位

欄位名稱可以是任何法律識別碼 — Unicode字母和數字的無限長序列,以字母開頭,貨幣符號($)或底線字元(_)。 變數名稱也區分大小寫。

如果欄位名稱未遵循此慣例,則欄位名稱必須以包住 ${}. 因此,例如,如果欄位名稱為「名字」或「名字」,則名稱必須包裝如下 ${First Name}${First\.Name} 分別為5個。

秘訣

與階層互動時,如果子屬性具有句點(.),您必須使用反斜線(\)以逸出特殊字元。 如需詳細資訊,請參閱 逸出特殊字元.

此外,如果欄位名稱為 any 在下列保留的關鍵字中,必須將其包住 ${}:

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.

函式清單

下表列出所有支援的映射函式,包括示例表達式及其產生的輸出。

字串函式

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
concat 串連指定的字串。
  • 字串:將串連的字串。
concat(STRING_1, STRING_2) concat("Hi, ", "there", "!") "Hi, there!"
爆炸 根據規則運算式分割字串,並傳回一組部分。 可選擇包含分割字串的規則運算式。 依預設,拆分解析為「,」。 下列分隔字元 需要 被逸出 \: +, ?, ^, |, ., [, (, {, ), *, $, \ 如果您包含多個字元作為分隔字元,分隔字元將視為多字元分隔字元。
  • 字串: 必填 需要拆分的字串。
  • REGEX: 可選 可用來分割字串的規則運算式。
explode(字串, REGEX) explode("嗨,那兒!", " ") ["Hi,", "there"]
instr 傳回子字串的位置/索引。
  • 輸入: 必填 正在搜尋的字串。
  • 子字串: 必填 在字串內搜尋的子字串。
  • START_POSITION: 可選 要開始查看字串的位置。
  • 發生次數: 可選 要從開始位置尋找的第n個出現次數。 預設為1。
instr(INPUT,子字串, START_POSITION, OCCURRENCE) instr("adobe.com", "com") 6
replacestr 如果原始字串中存在,則替換搜索字串。
  • 輸入: 必填 輸入字串。
  • TO_FIND: 必填 要在輸入內查詢的字串。
  • TO_REPLACE: 必填 將替換"TO_FIND"中值的字串。
replacestr(INPUT, TO_FIND, TO_REPLACE) replacestr("這是字串re test"、"re"、"replace") "這是字串替換測試"
substr 傳回指定長度的子字串。
  • 輸入: 必填 輸入字串。
  • START_INDEX: 必填 子字串開始的輸入字串的索引。
  • 長度: 必填 子字串的長度。
substr(INPUT, START_INDEX, LENGTH) substr("這是子字串測試", 7, 8) " a subst"
lower /
lcase
將字串轉換為小寫。
  • 輸入: 必填 將轉換為小寫的字串。
lower(INPUT) lower("HeLo")
lcase("HeLo")
"hello"
upper /
ucase
將字串轉換為大寫。
  • 輸入: 必填 將轉換為大寫的字串。
upper(INPUT) upper("HeLo")
ucase("HeLo")
"HELLO"
split 在分隔符上分割輸入字串。 下列分隔符號 需求 被逸出 \: \. 如果您包含多個分隔字元,字串將依 any 字串中顯示的分隔字元。
  • 輸入: 必填 即將分割的輸入字串。
  • 分隔符: 必填 用於分割輸入的字串。
拆分(輸入,分隔符) split("Hello world", " ") ["Hello", "world"]
加入 使用分隔符聯接對象清單。
  • 分隔符: 必填 將用於連接對象的字串。
  • 對象: 必填 要連結的字串陣列。
join(SEPARATOR, [OBJECTS]) join(" ", to_array(true, "Hello", "world")) 「你好世界」
lpad 將字串的左側與另一個指定字串固定。
  • 輸入: 必填 被補出來的繩子。 此字串可以為null。
  • 計數: 必填 要填補的字串大小。
  • 邊框間距: 必填 用填充輸入的字串。 如果為空或空,則會將其視為單一空格。
lpad(輸入,計數,填充) lpad("bat", 8, "yz") "yzyzybat"
rpad 將字串的右側與另一個指定字串固定。
  • 輸入: 必填 被補出來的繩子。 此字串可以為null。
  • 計數: 必填 要填補的字串大小。
  • 邊框間距: 必填 用填充輸入的字串。 如果為空或空,則會將其視為單一空格。
rpad(輸入,計數,填充) rpad("bat", 8, "yz") "batyzyzy"
lef 取得指定字串的第一個"n"字元。
  • 字串: 必填 您要取得的第一個"n"字元的字串。
  • 計數: 必填​您要從字串取得的"n"字元。
left(字串,計數) left("abcde", 2) "ab"
取得指定字串的最後"n"個字元。
  • 字串: 必填 您要取得的最後一個"n"字元的字串。
  • 計數: 必填​您要從字串取得的"n"字元。
right(字串,計數) right("abcde", 2) "de"
ltrim 從字串的開頭移除空白字元。
  • 字串: 必填 您要移除空格的字串。
ltrim(STRING) ltrim("hello") "hello"
rtrim 移除字串結尾的空白字元。
  • 字串: 必填 您要移除空格的字串。
rtrim(STRING) rtrim("hello ") "hello"
trim 從字串的開頭和結尾移除空白字元。
  • 字串: 必填 您要移除空格的字串。
trim(STRING) trim(" hello ") "hello"
等於 比較兩個字串以確認其是否相等。 此函式區分大小寫。
  • 字串1: 必填 您要比較的第一個字串。
  • 字串2: 必填 您要比較的第二個字串。
字串1​.equals(​STRING2) "string1"​。等於​("STRING1") false
equalsIgnoreCase 比較兩個字串以確認其是否相等。 此函式為 not 區分大小寫。
  • 字串1: 必填 您要比較的第一個字串。
  • 字串2: 必填 您要比較的第二個字串。
字串1​.equalsIgnoreCase​(STRING2) "string1"​。equalsIgnoreCase​("STRING1) true

規則運算式函式

函數 說明 參數 語法 運算式 範例輸出
extract_regex 根據規則運算式從輸入字串中擷取群組。
  • 字串: 必填 從中提取組的字串。
  • REGEX: 必填 您要群組相符的規則運算式。
extract_regex(STRING, REGEX) extract_regex​("E259,E259B_009,1_1" ​, "([,]+),[,]*,([^,]+)」) ["E259,E259B_009,1_1", "E259", "1_1"]
matches_regex 檢查字串是否與輸入的規則運算式相符。
  • 字串: 必填 您要檢查的字串與規則運算式相符。
  • REGEX: 必填 要比較的規則運算式。
matches_regex(STRING, REGEX) matches_regex("E259,E259B_009,1_1", "([,]+),[,]*,([^,]+)」) true

雜湊函式

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
sha1 使用安全雜湊演算法1(SHA-1)取用輸入並產生雜湊值。
  • 輸入: 必填 要雜湊的純文字。
  • 字元集: 可選 字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
sha1(INPUT, CHARSET) sha1("my text", "UTF-8") c3599c11e47719df18a24 ​48690840c5dfcce3c80
sha256 使用安全雜湊演算法256(SHA-256)取用輸入並產生雜湊值。
  • 輸入: 必填 要雜湊的純文字。
  • 字元集: 可選 字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
sha256(輸入,字元集) sha256("my text", "UTF-8") 7330d2b39ca35eaf4cb95fc846c21 ​ee6a39af698154a83a586ee270a0d372104
sha512 使用安全雜湊演算法512(SHA-512)取用輸入並產生雜湊值。
  • 輸入: 必填 要雜湊的純文字。
  • 字元集: 可選 字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
sha512(輸入,字元集) sha512("my text", "UTF-8") a3d7e45a0d9be5fd4e4b9a3b8c9c2163c21ef ​708bf11b4232bb21d2a8704ada2cdd7b367dd0788a89​a5c908cfe377b1072a7ff7b36d8a8fd24d16
md5 取用輸入,並使用MD5產生雜湊值。
  • 輸入: 必填 要雜湊的純文字。
  • 字元集: 可選 字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
md5(輸入,字元集) md5("my text", "UTF-8") d3b96ce8c9fb4 ​e9bd0198d03ba6852c7
crc32 取用輸入使用循環冗餘校驗(CRC)算法來產生32位循環碼。
  • 輸入: 必填 要雜湊的純文字。
  • 字元集: 可選 字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
crc32(INPUT, CHARSET) crc32("my text", "UTF-8") 8df92e80

URL函式

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
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。
  • 完整路徑(_P): 可選 一個布林值,它確定是否返回完整路徑。 若設為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"。

    如果值為「retain」,則錨點會附加至傳回的值。
    如果值為「remove」,則會從傳回值中移除錨點。
    如果值為「append」,則錨點會以個別值傳回。
get_url_query_str(​URL,錨點) 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/thre ​?name=ferret#nose", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}

日期和時間函式

注意

請向左/向右滾動以查看表的完整內容。 有關 date 函式,可在 資料格式處理指南.

函數 說明 參數 語法 運算式 範例輸出
now 擷取目前時間。 now() now() 2021-10-26T10:10:24Z
timestamp 檢索當前Unix時間。 timestamp() timestamp() 1571850624571
格式 根據指定的格式設定輸入日期的格式。
  • 日期: 必填 要格式化的輸入日期(作為ZonedDateTime對象)。
  • 格式: 必填 您要將日期變更為的格式。
格式(日期,格式) 格式(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'THH:mm:ss.SSX」) 2019-10-23T11:24:35.000Z
日期 將日期字串轉換為ZonedDateTime對象(ISO 8601格式)。
  • 日期: 必填 代表日期的字串。
  • 格式: 必填 代表來源日期格式的字串。注意: 確實如此 not 代表您要將日期字串轉換為的格式。
  • DEFAULT_DATE: 必填 如果提供的日期為空,則返回預設日期。
date(DATE, FORMAT, DEFAULT_DATE) date("2019-10-23 11:24", "yyyy-MM-dd HH:mm", now()) 2019-10-23T11:24:00Z
日期 將日期字串轉換為ZonedDateTime對象(ISO 8601格式)。
  • 日期: 必填 代表日期的字串。
  • 格式: 必填 代表來源日期格式的字串。注意: 確實如此 not 代表您要將日期字串轉換為的格式。
日期(日期,格式) date("2019-10-23 11:24", "yyyy-MM-dd HH:mm") 2019-10-23T11:24:00Z
日期 將日期字串轉換為ZonedDateTime對象(ISO 8601格式)。
  • 日期: 必填 代表日期的字串。
日期(日期) 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"

"week"
"ww"
"w"

"weekday"
"dw"
"w"

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

"minute"
"mi"
"n"

"second"
"ss"
"s"

"毫秒"
"ms"
  • 元件: 必填 代表日期部分的字串。
  • 日期: 必填 日期,採用標準格式。
date_part(​元件,日期) 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(​元件,值,日期) set_date_part("m", 4, date("2016-11-09T11:44:44.797″) "2016-04-09T11":44:44Z」
make_date_time 從零件建立日期。 您也可以使用make_timestamp來誘導此函式。
  • 年: 必填 以四位數寫的年份。
  • 月: 必填 月份。 允許的值是1到12。
  • 日: 必填 那天。 允許的值是1到31。
  • 小時: 必填 那個小時。 允許的值為0到23。
  • 分鐘: 必填 分鐘。 允許的值為0到59。
  • 納秒: 必填 納秒值。 允許的值為0到999999999。
  • 時區: 必填 日期時間的時區。
make_date_time(​年、月、日、小時、分鐘、秒、納秒、時區) 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

層次 — 對象

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
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 從輸入字串建立物件。
  • 字串: 必填 正在解析以建立對象的字串。
  • VALUE_DELIMITER: 可選 將欄位與值分開的分隔字元。 預設分隔字元為 :.
  • FIELD_DELIMITER: 可選 分隔欄位值組的分隔字元。 預設分隔字元為 ,.
str_to_object(​字串, 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:「約翰」
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"):《傲慢與偏見》、《書2》:《1984年》) ["book1", "book2"]
get_values 分析索引鍵/值配對,並根據指定索引鍵傳回字串的值。
  • 字串: 必填 要分析的字串。
  • 索引鍵: 必填 必須擷取值的索引鍵。
  • VALUE_DELIMITER: 必填 分隔欄位和值的分隔字元。 若 null 或空白字串,則此值為 :.
  • FIELD_DELIMITER: 可選 分隔欄位和值組的分隔字元。 若 null 或空白字串,則此值為 ,.
get_values(STRING, KEY, VALUE_DELIMITER, FIELD_DELIMITER) get_values("firstName - John , lastName - Cena , phone - 555 420 8692", "firstName", "-", ",") 約翰

有關對象複製功能的資訊,請參閱 low.

階層 — 陣列

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
合併 傳回指定陣列中的第一個非空物件。
  • 輸入: 必填 要查找的第一個非空對象的陣列。
合併(輸入) coalesce(null, null, null, "first", null, "second") "first"
first 擷取指定陣列的第一個元素。
  • 輸入: 必填 您要尋找的第一個元素的陣列。
first(INPUT) first("1", "2", "3") "1"
最近 擷取指定陣列的最後一個元素。
  • 輸入: 必填 您要尋找的最後一個元素的陣列。
last(INPUT) last("1", "2", "3") "3"
add_to_array 將元素新增至陣列結尾。
  • 陣列: 必填 要新增元素的陣列。
  • 值:要附加到陣列的元素。
add_to_array(​ARRAY, VALUES) add_to_array​(['a', 'b'], 'c', 'd') ['a', 'b', 'c', 'd']
join_arrays 將陣列彼此結合。
  • 陣列: 必填 要新增元素的陣列。
  • 值:要附加到父陣列的陣列。
join_arrays(​陣列,值) join_arrays​(['a', 'b'], ['c'], ['d', 'e']) ['a', 'b', 'c', 'd', 'e']
to_array 取用輸入清單並將其轉換為陣列。
  • INCLUDE_NULLS: 必填 指示是否在響應陣列中包括空值的布爾值。
  • 值: 必填 要轉換為陣列的元素。
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]

邏輯運算子

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
解碼 在提供以陣列扁平化的索引鍵和索引鍵值配對清單的情況下,如果找到索引鍵,函式會傳回值,如果陣列中存在預設值,則會傳回預設值。
  • 索引鍵: 必填 要匹配的密鑰。
  • OPTIONS: 必填 平面化的索引鍵/值組陣列。 (可選)可將預設值放在結尾。
decode(KEY,OPTIONS) decode(stateCode, "ca", "California", "pa", "Pennsylvania", "N/A") 如果提供的stateCode是「ca」、「California」。
如果給定的stateCode是"pa",則為"Pennsylvania"。
如果stateCode不符合下列項目,則為「N/A」。
ii 計算給定的布爾表達式,並根據結果返回指定值。
  • 運算式: 必填 要評估的布林表達式。
  • TRUE_VALUE: 必填 如果運算式評估為true,則會傳回的值。
  • FALSE_VALUE: 必填 如果運算式評估為false,則傳回的值。
iif(EXPRESSION, TRUE_VALUE, FALSE_VALUE) iif("s"。equalsIgnoreCase("S"), "True", "False") "True"

彙總

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
min 返回給定參數的最小值。 使用自然排序。
  • OPTIONS: 必填 可相互比較的一個或多個對象。
min(OPTIONS) min(3, 1, 4) 1
max 傳回指定引數的最大值。 使用自然排序。
  • OPTIONS: 必填 可相互比較的一個或多個對象。
max(OPTIONS) max(3, 1, 4) 4

類型轉換

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
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_to_object 從指定字串反序列化JSON內容。
  • 字串: 必填 要反序列化的JSON字串。
json_to_object​(STRING) json_to_object​({"info":{"firstName":"John","lastName":"Doe"}) 代表JSON的物件。

特別行動

注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
uuid /
guid
產生偽隨機ID。 uuid()
guid()
uuid()
guid()
7c0267d2-bb74-4e1a-9275-3bf4fccda5f4
c7016dc7-3163-43f7-afc7-2e1c9c206333

用戶代理函式

下表中包含的任何使用者代理函式都可傳回下列任一值:

  • 手機 — 螢幕較小的行動裝置(通常< 7英吋)
  • 行動 — 尚未識別的行動裝置。 此行動裝置可以是電子閱讀器、平板電腦、手機、手錶等。
注意

請向左/向右滾動以查看表的完整內容。

函數 說明 參數 語法 運算式 範例輸出
ua_os_name 從用戶代理字串中提取作業系統名稱。
  • USER_AGENT: 必填 使用者代理字串。
ua_os_name​(USER_AGENT) ua_os_name(​"Mozilla/5.0(iPhone;CPU iPhone OS 5_1_1(如Mac OS X)AppleWebKit/534.46(KHTML如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(如Mac OS X)AppleWebKit/534.46(KHTML如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(如Mac OS X)AppleWebKit/534.46(KHTML如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(如Mac OS X)AppleWebKit/534.46(KHTML如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(如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(如Mac OS X)AppleWebKit/534.46(KHTML如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(如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(如Mac OS X)AppleWebKit/534.46(KHTML如Gecko)Version/5.1 Mobile/9B206 Safari/7534.48.3」) 電話

對象副本

秘訣

當來源中的物件對應至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

在上例中, citystate 屬性也會在執行階段自動擷取,因為 address 物件已對應至 addr. 如果您要建立 line2 屬性,而您的輸入資料也包含 line2address 物件,則也會自動擷取物件,而無需手動變更對應。

為確保自動對應正常運作,必須符合下列必要條件:

  • 應映射父級對象;
  • 必須在XDM架構中建立新屬性;
  • 新屬性在來源架構和XDM架構中應具有相符的名稱。

如果未滿足任何先決條件,則必須使用資料準備手動將來源架構對應至XDM架構。

本頁內容