Show Menu
主題×

資料準備功能

「資料準備」功能可用來根據在來源欄位中輸入的內容來計算和計算值。

欄位

欄位名稱可以是任何合法識別碼- Unicode字母和數字的不限長度序列,以字母、美元符號( $ )或底線字元( _ )開頭。 變數名稱也區分大小寫。
如果欄位名稱未遵循此慣例,欄位名稱必須包住 ${} 。 因此,例如,如果欄位名稱是「名字」或「名字」,則名稱必須分別以類似或分別 ${First Name} 包裝 ${First.Name}
此外,欄位名 稱是 下列任何保留關鍵字,必須包住 ${} :
new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return

子欄位內的資料可使用點記號來存取。 例如,如果有對象, name 則要訪問該字 firstName 段,請使用 name.firstName

函式清單

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

字串函式

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
concat
串連指定的字串。
  • 字串:將串連的字串。
concat(STRING_1, STRING_2)
concat("Hi, ", "there", "!")
"Hi, there!"
爆炸
根據規則運算式分割字串,並傳回部件陣列。 可選擇包含規則運算式以分割字串。 預設情況下,拆分解析為","。
  • 字串: 必要 :需要分割的字串。
  • REGEX: 可選 :可用於拆分字串的規則運算式。
explode(STRING, REGEX)
explode("Hi, there!", ")
["Hi,", "there"]
instr
傳回子字串的位置/索引。
  • 輸入: 必要 :正在搜索的字串。
  • 子字串: 必要 :在字串中搜尋的子字串。
  • START_POSITION: 可選 :字串中要開始查找的位置。
  • 具體值: 可選 :從開始位置尋找的第n個出現點。 預設為1。
instr(INPUT,子字串, START_POSITION, OCCURRENCE)
instr("adobe <span> .com", "com")
6
replacestr
如果原始字串中有搜尋字串,請取代該搜尋字串。
  • 輸入: 必要 :輸入字串。
  • TO_FIND: 必要 :要在輸入中查找的字串。
  • TO_REPLACE: 必要 :將取代"TO_FIND"中值的字串。
replacestr(INPUT, TO_FIND, TO_REPLACE)
replacestr("This is a string re test", "re", "replace")
"這是字串替換測試"
substr
傳回指定長度的子字串。
  • 輸入: 必要 :輸入字串。
  • START_INDEX: 必要 :子字串開始的輸入字串索引。
  • LENGTH: Required The length of the substring.
substr(INPUT, START_INDEX, LENGTH)
substr("This is a substring test", 7, 8)
" a subst"
lower /
lcase
將字串轉換為小寫。
  • 輸入: 必要 :將轉換為小寫的字串。
lower(INPUT)
lower("HeLLo")
lcase("HeLLo")
"hello"
upper /
ucase
將字串轉換為大寫。
  • 輸入: 必要 :將轉換為大寫的字串。
upper(INPUT)
upper("HeLLo")
ucase("HeLLo")
"HELLO"
split
在分隔符上拆分輸入字串。
  • 輸入: 必要 :將要拆分的輸入字串。
  • 分隔符號: 必要 :用於分割輸入的字串。
split(INPUT, SEPARATOR)
split("Hello world", " ")
["Hello", "world"]
加入
使用分隔符連接對象清單。
  • 分隔符號: 必要 :將用於連接對象的字串。
  • 對象: 必要 :要連接的字串陣列。
join(SEPARATOR, [OBJECTS])
join(" ", ["Hello", "world"])
"Hello world"
lpad
將字串的左側與另一個指定字串相貼。
  • 輸入: 必要 :要填補的字串。 此字串可以是null。
  • 計數: 必需 :要填補的字串大小。
  • 填充: 必要 :用於填充輸入的字串。 如果為null或空白,則會視為單一空格。
lpad(輸入、計數、填充)
lpad("bat", 8, "yz")
"yzybat"
rpad
將字串的右側與另一個指定字串貼齊。
  • 輸入: 必要 :要填補的字串。 此字串可以是null。
  • 計數: 必需 :要填補的字串大小。
  • 填充: 必要 :用於填充輸入的字串。 如果為null或空白,則會視為單一空格。
rpad(輸入、計數、填充)
rpad("bat", 8, "yz")
"batyzyzy"
left
取得指定字串的第一個"n"字元。
  • 字串: 必要 :您要取得的第一個"n"字元的字串。
  • 計數: ​要字串中要取得的"n"字元。
left(字串,計數)
left("abcde", 2)
"ab"
right
取得指定字串的最後一個"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"
等於
比較兩個字串以確認其是否相等。 此函式區分大小寫。
  • STRING1: 必要 :您要比較的第一個字串。
  • STRING2: 必要 :您要比較的第二個字串。
STRING1.equals(STRING2)
"string1"。equals("STRING1)
false
equalsIgnoreCase
比較兩個字串以確認其是否相等。 此函式不 區分大小寫
  • STRING1: 必要 :您要比較的第一個字串。
  • STRING2: 必要 :您要比較的第二個字串。
STRING1.equalsIgnoreCase(STRING2)
"string1"。equalsIgnoreCase("STRING1)
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(INPUT, CHARSET)
sha256("my text", "UTF-8")
7330d2b39ca35eaf4cb95fc846c21​ e6a39af698154a83a586ee270a0d372104
sha512
使用安全雜湊演算法512(SHA-512)輸入並產生雜湊值。
  • 輸入: 需要 :要雜湊的純文字檔案。
  • 字元集: 可選 :字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
sha512(INPUT, CHARSET)
sha512("my text", "UTF-8")
a3d7e45a0d9be5fd4e4b9a3b8c9c2163c21ef ​ 708bf11b4232b21d2a8704ada2cdcd7b367dd078a89 ​ a5c908cfe377aceb1072a7b386b7d4fd2ff68a8fd24d16
md5
使用MD5輸入並產生雜湊值。
  • 輸入: 需要 :要雜湊的純文字檔案。
  • 字元集: 可選 :字元集的名稱。 可能的值包括UTF-8、UTF-16、ISO-8859-1和US-ASCII。
md5(INPUT, CHARSET)
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。
  • 完整路徑: 可選 :一個布爾值,它確定是否返回完整路徑。 如果設為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",則錨點將從傳回的值中移除。
    如果值是「附加」,則錨點會傳回為個別值。
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"}

日期和時間函式

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
now
檢索當前時間。
now()
now()
2020-09-23T10:10:24.556-07:00[America/Los_Angeles]
timestamp
檢索當前Unix時間。
timestamp()
timestamp()
1571850624571
格式
根據指定的格式格式化輸入日期。
  • 日期: 必要 :輸入日期,作為要格式化的ZonedDateTime對象。
  • 格式: 必要 :您希望日期變更為的格式。
格式(日期,格式)
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(1571829875, "dd-MMM-yyyy hh:mm")
「2019年10月23日11:24」
日期
將日期字串轉換為ZonedDateTime物件(ISO 8601格式)。
  • 日期: 必要 :代表日期的字串。
  • 格式: 必要 :代表日期格式的字串。
  • DEFAULT_DATE: 必要 :如果提供的日期為null,則傳回預設日期。
date(DATE, FORMAT, DEFAULT_DATE)
date("23-Oct-2019 11:24", "yyyy/MM/dd", now())
"2019-10-23T11:24:00+00:00"
日期
將日期字串轉換為ZonedDateTime物件(ISO 8601格式)。
  • 日期: 必要 :代表日期的字串。
  • 格式: 必要 :代表日期格式的字串。
date(DATE, FORMAT)
date("2019年10月23日11:24")
"2019-10-23T11:24:00+00:00"
日期
將日期字串轉換為ZonedDateTime物件(ISO 8601格式)。
  • 日期: 必要 :代表日期的字串。
日期(日期)
date("23-Oct-2019 11:24", "yyyy/MM/dd")
"2019-10-23T11:24:00+00:00"
date_part
擷取日期的部分。 支援下列元件值:
「y」d
「d'd'
'd'「d'd'
'd''「d''ww」「
」「
d」「
d」「
w」平日"2h"第二,"第一,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"第二,"。"。"。....................................................................................................................。
  • 元件: 必要 :代表日期部分的字串。
  • 日期: 必要 :日期,採用標準格式。
date_part(COMPONENT, DATE)
date_part("MM", date("2019-10-17 11:55:12")
10
set_date_part
在指定日期中替換元件。 接受下列元件:
"year"
"yyy"月"
"
yy"yyy"月
"mm"
mm"ddd"ddd"yd"
dd"hour"
"hh"mi"mi"""""n"sond"yyy"yyy"yyyy"yyyy"yyyy"yyyyy"月
"
"mmm"mmmmm"m"m"dddddd"d"dd"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"d"y"h"h"h"h"h"h"h"h"h"
  • 元件: 必要 :代表日期部分的字串。
  • 值: 必要 :為給定日期的元件設定的值。
  • 日期: 必要 :日期,採用標準格式。
set_date_part(COMPONENT, VALUE, DATE)
set_date_part("m", 4, date("2016-11-09T11:44:44.797")
"2016-04-09T11:44:44.797"
make_date_time
從零件建立日期。 此函式也可使用make_timestamp來感應。
  • 年: 必要 :年份,以四位數字寫入。
  • 月份: 必要 ,該月。 允許的值是1到12。
  • 日: 必要 。 允許的值是1到31。
  • 小時: 需要 ,小時。 允許的值為0到23。
  • 分鐘: 需要 。 允許的值是0到59。
  • 納秒: 必要 :納秒值。 允許的值為0到999999999。
  • 時區: 必要 :日期時間的時區。
make_date_time(YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, NS, TIMEZONE)
make_date_time(2019、10、17、11、55、12、999、「America/Los_Angeles」)
2019-10-17T11:55:12.0&#x200B;00000999-07:00[America/Los_Angeles]
zone_date_to_utc
將任何時區中的日期轉換為UTC中的日期。
  • 日期: 必要 :您嘗試轉換的日期。
zone_date_to_utc(DATE)
zone_date_to_utc(2019-10-17T11:55:12.000000999-07:00[America/Los_Angeles])
2019-10-17T18:55:12.000000999Z[UTC]
zone_date_to_zone
將日期從一個時區轉換為另一個時區。
  • 日期: 必要 :您嘗試轉換的日期。
  • 區域: 必要 :您嘗試將日期轉換為的時區。
zone_date_to_zone(DATE, ZONE)
zone_date_to_utc(2019-10-17T11:55:12.000000999-07:00[America/Los_Angeles], "Europe/Paris")
2019-10-17T20:55:12.000000999+02:00[Europe/Paris]

階層——物件

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
size_of
傳回輸入的大小。
  • 輸入: 必要 :您要尋找大小的物件。
size_of(INPUT)
size_of([1, 2, 3, 4])
4
is_empty
檢查對象是否為空。
  • 輸入: 必要 :您要檢查的物件是空的。
is_empty(INPUT)
is_empty([1, 2, 3])
false
arrays_to_object
建立對象清單。
  • 輸入: 需要 :一組索引鍵和陣列對。
arrays_to_object(INPUT)
需要樣本
需要樣本
to_object
根據給定的平面鍵/值對建立對象。
  • 輸入: 必要 :索引鍵/值配對的平面清單。
to_object(INPUT)
to_object("firstName", "John", "lastName", "Doe")
{"firstName": "John", "lastName": "Doe"}
str_to_object
從輸入字串建立對象。
  • 字串: 必需 :正在解析以建立對象的字串。
  • VALUE_DELIMITER: 可選 :分隔欄位與值的分隔字元。 The default delimiter is : .
  • FIELD_DELIMITER: 可選 :分隔欄位值對的分隔字元。 The default delimiter is , .
str_to_object(STRING, VALUE_DELIMITER, FIELD_DELIMITER)
str_to_object("firstName - John
lastName -
is_set
檢查源資料中是否存在對象。
  • 輸入: 必要 :如果源資料中存在要檢查的路徑。
is_set(INPUT)
is_set("evars.evar.field1")
true

階層——陣列

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
聚結
返回給定陣列中的第一個非空對象。
  • 輸入: 必需 :要查找的第一個非空對象的陣列。
合併(輸入)
coalesce(null, null, null, "first", null, "second")
"first"
first
檢索給定陣列的第一個元素。
  • 輸入: 必需 :要查找的第一個元素的陣列。
first(INPUT)
first("1", "2", "3")
"1"
last
檢索給定陣列的最後一個元素。
  • 輸入: 必需 :要查找的最後一個元素的陣列。
last(INPUT)
last("1", "2", "3")
"3"
to_array
獲取輸入清單並將其轉換為陣列。
  • INCLUDE_NULLS: 必要 :一個布爾值,指示是否在響應陣列中包含空值。
  • 值: 必要 :要轉換為陣列的元素。
to_array(INCLUDE_NULLS, VALUES)
to_array(false, 1, null, 2, 3)
[1, 2, 3]

邏輯運算子

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
解碼
給定一個鍵和一個作為陣列平面化的鍵值對清單,如果找到鍵,該函式將返回該值,如果在陣列中存在,則返回預設值。
  • 索引鍵: 必要 :要匹配的密鑰。
  • 選項: 必要 :索引鍵/值對的平面化陣列。 (可選)預設值可以放在結尾。
decode(KEY, OPTIONS)
decode(stateCode, "ca", "California", "pa", "Pennylvania", "N/A")
如果stateCode是"ca",則為"California"。
如果給定的stateCode是"pa",則為"Pennylvania"。
如果stateCode不符合下列項目,則為"N/A"。
if
評估給定的布爾表達式,並根據結果返回指定的值。
  • BOOLEAN_EXPRESSION: 必要 :正在評估的布林運算式。
  • TRUE_VALUE: 必要 :運算式評估為true時傳回的值。
  • FALSE_VALUE: 必要 :運算式評估為false時傳回的值。
if(BOOLEAN_EXPRESSION、TRUE_VALUE、FALSE_VALUE)
if("s"。equalsIgnoreCase("S"), "True", "False")
"True"

彙總

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
min
返回給定參數的最小值。 使用自然排序。
  • 選項: 需要 :可以相互比較的一個或多個對象。
min(OPTIONS)
min(3, 1, 4)
1
max
返回給定參數的最大值。 使用自然排序。
  • 選項: 需要 :可以相互比較的一個或多個對象。
max(OPTIONS)
max(3, 1, 4)
4

文字轉換

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
to_bigint
將字串轉換為BigInteger。
  • 字串: 必要 :要轉換為BigInteger的字串。
to_bigint(STRING)
to_bigint("100000.34")
1000000.34
to_decimal
將字串轉換為Double。
  • 字串: 必要 :要轉換為Double的字串。
to_decimal(STRING)
to_decimal("20.5")
20.5
to_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

用戶代理函式

請向左/向右滾動以查看表的完整內容。
函數
說明
參數
語法
運算式
範例輸出
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("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英吋)
電話