데이터 준비 매핑 함수
데이터 준비 함수를 사용하여 소스 필드에 입력된 내용을 기반으로 값을 계산하고 계산할 수 있습니다.
필드
필드 이름은 임의의 법적 식별자(문자로 시작하는 유니코드 문자와 숫자의 무제한 시퀀스)가 될 수 있습니다( 달러 기호)$
) 또는 밑줄 문자(_
). 변수 이름도 대소문자를 구분합니다.
필드 이름이 이 규칙을 따르지 않는 경우 필드 이름은 로 래핑해야 합니다 ${}
. 따라서 예를 들어 필드 이름이 "First Name" 또는 "First.Name"이면 이름은 다음과 같이 래핑되어야 합니다 ${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, _errors
하위 필드 내의 데이터는 점 표기법을 사용하여 액세스할 수 있습니다. 예를 들어 name
개체, 액세스 firstName
필드, 사용 name.firstName
.
함수 목록
다음 표에는 샘플 표현식 및 결과 출력을 포함하여 지원되는 모든 매핑 함수가 나열되어 있습니다.
문자열 함수 string
- STRING: 연결할 문자열입니다.
"Hi, there!"
\
: +, ?, ^, |, ., [, (, {, ), *, $, \
여러 문자를 구분 기호로 포함하면 구분 기호는 여러 문자 구분 기호로 처리됩니다.- 문자열: 필수 분할해야 하는 문자열입니다.
- 정규 표현식: 선택 사항 문자열을 분할하는 데 사용할 수 있는 정규 표현식.
["Hi,", "there"]
- 입력: 필수 검색 중인 문자열입니다.
- 하위 문자열: 필수 문자열 내에서 검색 중인 하위 문자열.
- 시작 위치: 선택 사항 문자열에서 찾기 시작할 위치입니다.
- 발생 횟수: 선택 사항 시작 위치에서 찾을 n번째 발생 횟수입니다. 기본적으로 1입니다.
- 입력: 필수 입력 문자열입니다.
- 찾기(_F): 필수 입력 내에서 조회할 문자열입니다.
- 바꾸기(_R): 필수 "TO_FIND" 내의 값을 대체할 문자열입니다.
- 입력: 필수 입력 문자열입니다.
- 시작 색인: 필수 하위 문자열이 시작되는 입력 문자열의 인덱스입니다.
- 길이: 필수 하위 문자열의 길이입니다.
케이스
- 입력: 필수 소문자로 변환되는 문자열입니다.
lcase("HeLlO")
우카세
- 입력: 필수 대문자로 변환되는 문자열입니다.
ucase("HeLlO")
\
: \
. 여러 구분 기호를 포함하는 경우 문자열이 다음으로 분할됩니다. 임의 문자열에 있는 구분 기호입니다. 참고: 이 함수는 구분 기호의 존재 여부에 관계없이 문자열에서 null이 아닌 인덱스만 반환합니다. 결과 배열에 null을 포함한 모든 인덱스가 필요한 경우에는 "explode" 함수를 대신 사용하십시오.- 입력: 필수 분할할 입력 문자열입니다.
- 분리자: 필수 입력을 분할하는 데 사용되는 문자열입니다.
["Hello", "world"]
- 분리자: 필수 개체를 연결하는 데 사용할 문자열입니다.
- 개체: 필수 조인할 문자열 배열입니다.
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
- 입력: 필수 채워질 끈. 이 문자열은 null일 수 있습니다.
- 카운트: 필수 패딩할 문자열의 크기입니다.
- 패딩: 필수 입력을 연결하는 문자열입니다. null이거나 비어 있으면, 단일 공백으로 처리됩니다.
- 입력: 필수 채워질 끈. 이 문자열은 null일 수 있습니다.
- 카운트: 필수 패딩할 문자열의 크기입니다.
- 패딩: 필수 입력을 연결하는 문자열입니다. null이거나 비어 있으면, 단일 공백으로 처리됩니다.
- 문자열: 필수 첫 번째 "n" 문자를 받는 문자열입니다.
- 카운트: 필수 문자열에서 가져올 "n" 문자
- 문자열: 필수 에 대한 마지막 "n"자를 가져오는 문자열입니다.
- 카운트: 필수 문자열에서 가져올 "n" 문자
- 문자열: 필수 공백을 제거할 문자열입니다.
- 문자열: 필수 공백을 제거할 문자열입니다.
- 문자열: 필수 공백을 제거할 문자열입니다.
- STRING1: 필수 비교할 첫 번째 문자열입니다.
- STRING2: 필수 비교할 두 번째 문자열입니다.
- STRING1: 필수 비교할 첫 번째 문자열입니다.
- STRING2: 필수 비교할 두 번째 문자열입니다.
정규 표현식 함수
- 문자열: 필수 그룹을 추출하는 문자열입니다.
- 정규 표현식: 필수 그룹을 일치시킬 정규 표현식입니다.
- 문자열: 필수 확인 중인 문자열은 정규 표현식과 일치합니다.
- 정규 표현식: 필수 비교 중인 정규 표현식입니다.
해시 함수 hashing
- 입력: 필수 해시할 일반 텍스트입니다.
- 문자 집합: 선택 사항 문자 세트의 이름입니다. 가능한 값에는 UTF-8, UTF-16, ISO-8859-1 및 US-ASCII가 포함됩니다.
- 입력: 필수 해시할 일반 텍스트입니다.
- 문자 집합: 선택 사항 문자 세트의 이름입니다. 가능한 값에는 UTF-8, UTF-16, ISO-8859-1 및 US-ASCII가 포함됩니다.
- 입력: 필수 해시할 일반 텍스트입니다.
- 문자 집합: 선택 사항 문자 세트의 이름입니다. 가능한 값에는 UTF-8, UTF-16, ISO-8859-1 및 US-ASCII가 포함됩니다.
- 입력: 필수 해시할 일반 텍스트입니다.
- 문자 집합: 선택 사항 문자 세트의 이름입니다. 가능한 값에는 UTF-8, UTF-16, ISO-8859-1 및 US-ASCII가 포함됩니다.
- 입력: 필수 해시할 일반 텍스트입니다.
- 문자 집합: 선택 사항 문자 세트의 이름입니다. 가능한 값에는 UTF-8, UTF-16, ISO-8859-1 및 US-ASCII가 포함됩니다.
URL 함수 url
- URL: 필수 프로토콜을 추출해야 하는 URL입니다.
- URL: 필수 호스트를 추출해야 하는 URL입니다.
- URL: 필수 포트를 추출해야 하는 URL입니다.
- URL: 필수 경로를 추출해야 하는 URL입니다.
- 전체 경로: 선택 사항 전체 경로가 반환되는지 여부를 결정하는 부울 값입니다. false로 설정하면 경로의 끝만 반환됩니다.
- URL: 필수 쿼리 문자열을 가져오려는 URL.
- 앵커: 필수 쿼리 문자열에서 앵커를 사용하여 수행할 작업을 결정합니다. "retain", "remove" 또는 "append"의 세 가지 값 중 하나일 수 있습니다.
값이 "retain"이면 앵커가 반환된 값에 첨부됩니다.
값이 "remove"이면 반환된 값에서 앵커가 제거됩니다.
값이 "append"이면 앵커가 별도의 값으로 반환됩니다.
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"}
- URL: 필수 ASCII 문자로 바꾸거나 인코딩할 특수 문자가 있는 입력 URL입니다.
- URL: 필수 특수 문자로 디코딩할 ASCII 문자가 있는 입력 URL입니다.
날짜 및 시간 함수 date-and-time
date
함수는 의 날짜 섹션에서 찾을 수 있습니다. 데이터 형식 처리 안내서.2021-10-26T10:10:24Z
- 날짜: 필수 서식을 지정할 ZonedDateTime 개체의 입력 날짜입니다.
- 형식: 필수 날짜를 변경할 형식입니다.
yyyy-MM-dd HH:mm:ss
")2019-10-23 11:24:35
- 타임스탬프: 필수 서식을 지정할 타임스탬프입니다. 밀리초 단위로 기록됩니다.
- 형식: 필수 타임스탬프를 지정할 형식입니다.
yyyy-MM-dd'T'HH:mm:ss.SSSX
")2019-10-23T11:24:35.000Z
- 날짜: 필수 날짜를 나타내는 문자열입니다.
- 형식: 필수 소스 날짜의 형식을 나타내는 문자열입니다.참고: 다음과 같습니다. 아님 날짜 문자열을 로 변환할 형식을 나타냅니다.
- DEFAULT_DATE: 필수 제공된 날짜가 null인 경우 반환되는 기본 날짜.
2019-10-23T11:24:00Z
- 날짜: 필수 날짜를 나타내는 문자열입니다.
- 형식: 필수 소스 날짜의 형식을 나타내는 문자열입니다.참고: 다음과 같습니다. 아님 날짜 문자열을 로 변환할 형식을 나타냅니다.
2019-10-23T11:24:00Z
- 날짜: 필수 날짜를 나타내는 문자열입니다.
"year"
"yyyy"
"yy"
"quarter"
"qq"
"q"
"월"
"mm"
"m"
"dayofyear"
"dy"
"y"
"day"
"dd"
"d"
"주"
"ww"
"w"
"weekday"
"dw"
"w"
"hour"
"hh"
"hh24"
"hh12"
"minute"
"mi"
"n"
"second"
"ss"
"s"
"밀리초"
"SSS"
- 구성 요소: 필수 날짜의 일부를 나타내는 문자열입니다.
- 날짜: 필수 표준 형식의 날짜입니다.
"year"
"yyyy"
"yy"
"월"
"mm"
"m"
"day"
"dd"
"d"
"hour"
"hh"
"minute"
"mi"
"n"
"second"
"ss"
"s"
- 구성 요소: 필수 날짜의 일부를 나타내는 문자열입니다.
- 값: 필수 지정된 날짜의 구성 요소에 대해 설정할 값입니다.
- 날짜: 필수 표준 형식의 날짜입니다.
- 연도: 필수 네 자리 숫자로 쓰인 연도입니다.
- 월: 필수 월. 허용되는 값은 1-12입니다.
- 일: 필수 그날. 허용되는 값은 1~31입니다.
- 시간: 필수 시간. 허용되는 값은 0~23입니다.
- 분: 필수 분. 허용되는 값은 0~59입니다.
- 나노초: 필수 나노초 값입니다. 허용되는 값은 0에서 999999999까지입니다.
- 시간대: 필수 날짜 시간에 대한 시간대입니다.
2019-10-17T11:55:12Z
- 날짜: 필수 변환하려는 날짜입니다.
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
- 날짜: 필수 변환하려는 날짜입니다.
- 영역: 필수 날짜를 전환하려는 시간대입니다.
zone_date_to_utc​(now(), "Europe/Paris")
2021-10-26T15:43:59Z
계층 - 객체 objects
- 입력: 필수 확인하려는 개체가 비어 있습니다.
is_empty([1, null, 2, 3])
- 입력: 필수 키 및 배열 쌍의 그룹입니다.
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
- 입력: 필수 키/값 쌍의 단순 목록입니다.
{"firstName": "John", "lastName": "Doe"}
- 문자열: 필수 개체를 만들기 위해 구문 분석 중인 문자열입니다.
- VALUE_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"
is_set()
함수.- 입력: 필수 소스 데이터 내에 있는지 확인할 경로입니다.
null
. 필드를 대상 스키마에 복사하지 않으려는 경우 사용해야 합니다.null
- 개체: 필수 키를 추출할 개체입니다.
["book1", "book2"]
- 문자열: 필수 구문 분석할 문자열입니다.
- 키: 필수 값을 추출해야 하는 키입니다.
- VALUE_DELIMITER: 필수 필드와 값을 구분하는 구분 기호입니다. 다음 중 하나의 경우:
null
빈 문자열이 제공된 경우 이 값은 다음과 같습니다.:
. - 필드 구분 기호: 선택 사항 필드 쌍과 값 쌍을 구분하는 구분 기호입니다. 다음 중 하나의 경우:
null
빈 문자열이 제공된 경우 이 값은 다음과 같습니다.,
.
- 맵: 필수 입력 맵 데이터.
- 키: 필수 키는 단일 문자열 또는 문자열 배열일 수 있습니다. 다른 기본 유형(데이터/숫자)이 제공되면 문자열로 처리됩니다.
- 맵: 필수 입력 맵 데이터
- 키: 필수 키는 단일 문자열 또는 문자열 배열일 수 있습니다. 다른 기본 유형(데이터/숫자)이 제공되면 문자열로 처리됩니다.
- 키: 필수 키는 문자열이어야 합니다. 정수 또는 날짜와 같은 다른 기본 값이 제공되면 문자열로 자동 변환되고 문자열로 처리됩니다.
- ANY_TYPE 필수 맵은 제외하고 지원되는 모든 XDM 데이터 유형을 참조합니다.
- 개체: 필수 들어오는 개체 또는 개체 배열을 제공하고 개체 내의 속성을 키로 지정할 수 있습니다.
- 개체: 필수 들어오는 개체 또는 개체 배열을 제공하고 개체 내의 속성을 키로 지정할 수 있습니다.
개체 복사 기능에 대한 자세한 내용은 섹션을 참조하십시오 아래.
계층 - 배열 arrays
- 입력: 필수 null이 아닌 첫 번째 개체를 찾을 배열입니다.
- 입력: 필수 의 첫 번째 요소를 찾을 배열입니다.
- 입력: 필수 의 마지막 요소를 찾을 배열입니다.
- 배열: 필수 요소를 추가할 배열입니다.
- 값: 배열에 추가할 요소입니다.
- 배열: 필수 요소를 추가할 배열입니다.
- 값: 상위 배열에 추가할 배열입니다.
- INCLUDE_NULL: 필수 응답 배열에 null을 포함할지 여부를 나타내는 부울 값입니다.
- 값: 필수 배열로 변환할 요소입니다.
[1, 2, 3]
- 입력: 필수 크기를 찾으려는 개체입니다.
size_of([1, 2, 3, 4])
- 배열: 필수 프로필에 배열을 추가할 배열입니다.
upsert_array_append([123, 456])
- 배열: 필수 프로필에서 배열을 대체할 배열입니다.
upsert_array_replace([123, 456], 1)
계층 - 맵 map
- 입력: 필수 null이 아닌 첫 번째 개체를 찾을 개체 배열입니다.
- 키: 필수 키는 개체 배열의 필드 이름이어야 하며 개체를 값으로 사용해야 합니다.
- 입력: 필수 null이 아닌 첫 번째 개체를 찾을 개체 배열입니다.
"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"
논리 연산자 logical-operators
- 키: 필수 일치시킬 키입니다.
- OPTIONS: 필수 키/값 쌍의 병합된 배열입니다. 원할 경우 끝에 기본값을 입력할 수 있습니다.
주코드가 "pa"이면 "Pennsylvania"입니다.
stateCode가 다음과 일치하지 않으면 "N/A"입니다.
- 표현식: 필수 평가 중인 부울 표현식입니다.
- TRUE_값: 필수 표현식이 true로 평가되는 경우 반환되는 값입니다.
- FALSE_값: 필수 표현식이 false로 평가되는 경우 반환되는 값입니다.
집계 aggregation
- OPTIONS: 필수 서로 비교할 수 있는 하나 이상의 개체입니다.
- OPTIONS: 필수 서로 비교할 수 있는 하나 이상의 개체입니다.
유형 전환 type-conversions
- 문자열: 필수 BigInteger로 변환될 문자열입니다.
- 문자열: 필수 Double로 변환할 문자열입니다.
- 문자열: 필수 Float으로 변환될 문자열입니다.
- 문자열: 필수 정수로 변환될 문자열입니다.
JSON 함수 json
- 문자열: 필수 역직렬화할 JSON 문자열.
특수 작업 special-operations
guid
guid()
guid()
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
- 문자열: 필수 ECID로 변환할 FPID 문자열입니다.
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"
사용자 에이전트 기능 user-agent
아래 표에 포함된 모든 사용자 에이전트 함수는 다음 값 중 하나를 반환할 수 있습니다.
- 휴대폰 - 작은 화면이 있는 모바일 디바이스(일반적으로 7" 미만)
- 모바일 - 아직 식별되지 않은 모바일 디바이스. 이 모바일 디바이스는 eReader, 태블릿, 전화기, 시계 등일 수 있다.
장치 필드 값에 대한 자세한 내용은 장치 필드 값 목록 이 문서의 부록에서.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
- 사용자 에이전트(_A): 필수 사용자 에이전트 문자열입니다.
Analytics 함수 analytics
- 이벤트 문자열: 필수 쉼표로 구분된 Analytics 이벤트 문자열.
- 이벤트 이름: 필수 추출할 이벤트 이름 및 ID입니다.
- 이벤트 문자열: 필수 쉼표로 구분된 Analytics 이벤트 문자열.
- 이벤트 이름: 필수 값을 추출할 이벤트 이름.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- 이벤트 이름: 필수 값을 추출할 이벤트 이름.
- PRODUCTS_문자열: 필수 Analytics 제품 문자열입니다.
- EVAR 이름: 필수 추출할 eVar 이름입니다.
개체 복사 object-copy
객체 복사 기능을 사용하면 매핑을 변경하지 않고 객체의 속성을 자동으로 복사할 수 있습니다. 예를 들어 소스 데이터의 구조가 다음과 같은 경우:
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 스키마에 수동으로 매핑해야 합니다.
부록
다음은 데이터 준비 매핑 기능 사용에 대한 추가 정보입니다
특수 문자 special-characters
아래 표는 예약 문자와 해당 인코딩 문자 목록을 간략하게 설명합니다.
장치 필드 값 device-field-values
아래 표에는 장치 필드 값 목록과 해당 설명이 나와 있습니다.
useragents
익명화 소프트웨어에 의해 바뀐 것입니다.useragents
장치에 대한 정보가 포함되어 있지 않습니다.useragent
문자열.코드 샘플 code-samples
map_get_values map-get-values
code language-json |
---|
|
map_has_keys map_has_keys
code language-json |
---|
|
add_to_map add_to_map
code language-json |
---|
|
object_to_map object_to_map
구문 1
code language-json |
---|
|
구문 2
code language-json |
---|
|
구문 3
code language-json |
---|
|
array_to_map array_to_map
code language-json |
---|
|