Funktioner för datapersonmappning
Dataprep-funktioner kan användas för att beräkna och beräkna värden baserat på vad som anges i källfält.
Fält
Ett fältnamn kan vara vilken giltig identifierare som helst - en sekvens med obegränsad längd av Unicode-bokstäver och -siffror, med början med en bokstav, dollartecknet ($
) eller understrecket (_
). Variabelnamn är också skiftlägeskänsliga.
Om ett fältnamn inte följer den här regeln måste fältnamnet omslutas med ${}
. Om fältnamnet till exempel är "Förnamn" eller "Förnamn" måste namnet radbrytas på samma sätt ${First Name}
eller ${First\.Name}
respektive.
.
) måste du använda ett omvänt snedstreck (\
) för att undvika specialtecken. Mer information finns i guiden ta bort specialtecken.Om ett fältnamn dessutom är alla av följande reserverade nyckelord måste omslutas med ${}
:
new, mod, or, break, var, lt, for, false, while, eq, gt, div, not, null, continue, else, and, ne, true, le, if, ge, return, _errors
Du kan komma åt data i underfält genom att använda punktnotation. Om det till exempel finns en name
-objekt, för att komma åt firstName
fält, använda name.firstName
.
Lista över funktioner
I följande tabeller visas alla mappningsfunktioner som stöds, inklusive exempeluttryck och deras resulterande utdata.
Strängfunktioner string
- STRING: Strängarna som ska sammanfogas.
"Hi, there!"
\
: +, ?, ^, |, ., [, (, {, ), *, $, \
Om du tar med flera tecken som avgränsare behandlas avgränsaren som en avgränsare med flera tecken.- STRING: Obligatoriskt Strängen som måste delas.
- REGEX: Valfritt Det reguljära uttryck som kan användas för att dela strängen.
["Hi,", "there"]
- INMATNING: Obligatoriskt Strängen som söks igenom.
- SUBSTRING: Obligatoriskt Den delsträng som söks efter i strängen.
- START_POSITION: Valfritt Platsen där sökningen i strängen ska börja.
- FÖREKOMST: Valfritt Den n förekomsten som ska sökas efter från startpositionen. Som standard är det 1.
- INMATNING: Obligatoriskt Indatasträngen.
- TO_FIND: Obligatoriskt Strängen som ska slås upp i indata.
- TO_REPLACE: Obligatoriskt Strängen som ska ersätta värdet i"TO_FIND".
- INMATNING: Obligatoriskt Indatasträngen.
- START_INDEX: Obligatoriskt Indexvärdet för indatasträngen där delsträngen börjar.
- LÄNGD: Obligatoriskt Delsträngens längd.
lcase
- INMATNING: Obligatoriskt Strängen som ska konverteras till gemener.
lcase("TheLLo")
ucase
- INMATNING: Obligatoriskt Strängen som ska konverteras till versaler.
ucase("TheTo")
\
: \
. Om du inkluderar flera avgränsare delas strängen upp på alla av avgränsarna i strängen. Obs! Den här funktionen returnerar bara index som inte är null från strängen, oavsett om avgränsaren finns. Om alla index, inklusive null, krävs i den resulterande arrayen använder du funktionen "explode" i stället.- INMATNING: Obligatoriskt Den indatasträng som ska delas.
- AVGRÄNSARE: Obligatoriskt Strängen som används för att dela indata.
["Hello", "world"]
- AVGRÄNSARE: Obligatoriskt Strängen som ska användas för att förena objekten.
- OBJEKT: Obligatoriskt En array med strängar som ska förenas.
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
- INMATNING: Obligatoriskt Strängen som ska utfyllas. Strängen kan vara null.
- ANTAL: Obligatoriskt Storleken på strängen som ska utfyllas.
- PADDING: Obligatoriskt Strängen som indata ska fyllas med. Om värdet är null eller tomt behandlas det som ett enda mellanslag.
- INMATNING: Obligatoriskt Strängen som ska utfyllas. Strängen kan vara null.
- ANTAL: Obligatoriskt Storleken på strängen som ska utfyllas.
- PADDING: Obligatoriskt Strängen som indata ska fyllas med. Om värdet är null eller tomt behandlas det som ett enda mellanslag.
- STRING: Obligatoriskt Strängen som du hämtar de första n-tecknen för.
- ANTAL: Obligatoriskt De n-tecken som du vill hämta från strängen.
- STRING: Obligatoriskt Strängen som du hämtar de sista n-tecknen för.
- ANTAL: Obligatoriskt De n-tecken som du vill hämta från strängen.
- STRING: Obligatoriskt Strängen som du vill ta bort mellanrummet från.
- STRING: Obligatoriskt Strängen som du vill ta bort mellanrummet från.
- STRING: Obligatoriskt Strängen som du vill ta bort mellanrummet från.
- STRING1: Obligatoriskt Den första strängen som du vill jämföra.
- STRING2: Obligatoriskt Den andra strängen som du vill jämföra.
- STRING1: Obligatoriskt Den första strängen som du vill jämföra.
- STRING2: Obligatoriskt Den andra strängen som du vill jämföra.
Funktioner för reguljära uttryck
- STRING: Obligatoriskt Strängen som du extraherar grupperna från.
- REGEX: Obligatoriskt Det reguljära uttryck som du vill att gruppen ska matcha.
- STRING: Obligatoriskt Strängen som du kontrollerar matchar det reguljära uttrycket.
- REGEX: Obligatoriskt Det reguljära uttryck som du jämför med.
Hash-funktioner hashing
- INMATNING: Obligatoriskt Den oformaterade text som ska hashas.
- CHARSET: Valfritt Namnet på teckenuppsättningen. Möjliga värden är UTF-8, UTF-16, ISO-8859-1 och US-ASCII.
- INMATNING: Obligatoriskt Den oformaterade text som ska hashas.
- CHARSET: Valfritt Namnet på teckenuppsättningen. Möjliga värden är UTF-8, UTF-16, ISO-8859-1 och US-ASCII.
- INMATNING: Obligatoriskt Den oformaterade text som ska hashas.
- CHARSET: Valfritt Namnet på teckenuppsättningen. Möjliga värden är UTF-8, UTF-16, ISO-8859-1 och US-ASCII.
- INMATNING: Obligatoriskt Den oformaterade text som ska hashas.
- CHARSET: Valfritt Namnet på teckenuppsättningen. Möjliga värden är UTF-8, UTF-16, ISO-8859-1 och US-ASCII.
- INMATNING: Obligatoriskt Den oformaterade text som ska hashas.
- CHARSET: Valfritt Namnet på teckenuppsättningen. Möjliga värden är UTF-8, UTF-16, ISO-8859-1 och US-ASCII.
URL-funktioner url
- URL: Obligatoriskt Den URL som protokollet måste extraheras från.
- URL: Obligatoriskt Den URL som värden måste extraheras från.
- URL: Obligatoriskt Den URL som porten måste extraheras från.
- URL: Obligatoriskt Den URL som sökvägen måste extraheras från.
- FULL_PATH: Valfritt Ett booleskt värde som avgör om den fullständiga sökvägen returneras. Om värdet är false returneras bara slutet av sökvägen.
- URL: Obligatoriskt Den URL som du försöker hämta frågesträngen från.
- FÄSTPUNKT: Obligatoriskt Anger vad som ska göras med ankarpunkten i frågesträngen. Kan vara ett av tre värden: "keep", "remove" eller "append".
Om värdet är "behåll" kopplas ankarpunkten till det returnerade värdet.
Om värdet är "remove" tas ankarpunkten bort från det returnerade värdet.
Om värdet är "append" returneras ankarpunkten som ett separat värde.
get_url_query_str ("foo://example.com:8042 /over/here?name= ferret#nos", "remove")
get_url_query_str ("foo://example.com :8042/over/there ?name=ferret#nos", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}
- URL: Obligatoriskt Indata-URL:en med specialtecken som du vill ersätta eller koda med ASCII-tecken.
- URL: Obligatoriskt Indata-URL med ASCII-tecken som du vill avkoda till specialtecken.
Datum- och tidsfunktioner date-and-time
date
finns i datumavsnittet i guide för hantering av dataformat.2021-10-26T10:10:24Z
- DATUM: Obligatoriskt Indatadatum, som ett ZonedDateTime-objekt, som du vill formatera.
- FORMAT: Obligatoriskt Det format som du vill att datumet ska ändras till.
yyyy-MM-dd HH:mm:ss
")2019-10-23 11:24:35
- TIDSSTÄMPEL: Obligatoriskt Tidsstämpeln som du vill formatera. Detta skrivs i millisekunder.
- FORMAT: Obligatoriskt Det format som du vill att tidsstämpeln ska bli.
yyyy-MM-dd'T'HH:mm:ss.SSSX
")2019-10-23T11:24:35.000Z
- DATUM: Obligatoriskt Strängen som representerar datumet.
- FORMAT: Obligatoriskt Strängen som representerar formatet för källdatumet.Obs! Detta gör det not representerar det format som du vill konvertera datumsträngen till.
- DEFAULT_DATE: Obligatoriskt Standarddatumet som returneras om det angivna datumet är null.
2019-10-23T11:24:00Z
- DATUM: Obligatoriskt Strängen som representerar datumet.
- FORMAT: Obligatoriskt Strängen som representerar formatet för källdatumet.Obs! Detta gör det not representerar det format som du vill konvertera datumsträngen till.
2019-10-23T11:24:00Z
- DATUM: Obligatoriskt Strängen som representerar datumet.
"year"
"yyyy"
"yy"
"kvartal"
"qq"
"q"
"month"
"mm"
"m"
"day ofyear"
"dy"
"y"
"day"
"dd"
"d"
"week"
"ww"
"w"
"veckodag"
"dw"
"w"
"hour"
"hh"
"hh24"
"hh12"
"minute"
"mi"
"n"
"second"
"ss"
s"
"millisecond"
"SSS"
- KOMPONENT: Obligatoriskt En sträng som representerar datumdelen.
- DATUM: Obligatoriskt Datumet i ett standardformat.
"year"
"yyyy"
"yy"
"month"
"mm"
"m"
"day"
"dd"
"d"
"hour"
"hh"
"minute"
"mi"
"n"
"second"
"ss"
s"
- KOMPONENT: Obligatoriskt En sträng som representerar datumdelen.
- VÄRDE: Obligatoriskt Värdet som ska anges för komponenten för ett visst datum.
- DATUM: Obligatoriskt Datumet i ett standardformat.
- ÅR: Obligatoriskt Året, skrivet med fyra siffror.
- MÅNAD: Obligatoriskt Månad. Tillåtna värden är 1 till 12.
- DAG: Obligatoriskt Dagen. Tillåtna värden är 1 till 31.
- TIMME: Obligatoriskt Timmen. De tillåtna värdena är 0 till 23.
- MINUT: Obligatoriskt Minut. De tillåtna värdena är 0 till 59.
- NANOSECOND: Obligatoriskt Värdet för nanosekund. De tillåtna värdena är 0 till 999999999.
- TIMEZON: Obligatoriskt Tidszonen för datum/tid.
2019-10-17T11:55:12Z
- DATUM: Obligatoriskt Det datum som du försöker konvertera.
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
- DATUM: Obligatoriskt Det datum som du försöker konvertera.
- ZON: Obligatoriskt Tidszonen som du försöker konvertera datumet till.
zone_date_to_utc​(now(), "Europe/Paris")
2021-10-26T15:43:59Z
Hierarkier - objekt objects
- INMATNING: Obligatoriskt Objektet som du försöker kontrollera är tomt.
is_empty([1, null, 2, 3])
- INMATNING: Obligatoriskt En gruppering av nyckel- och matrispar.
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
- INMATNING: Obligatoriskt En platt lista med nyckel/värde-par.
{"firstName": "John", "lastName": "Doe"}
- STRING: Obligatoriskt Strängen som tolkas för att skapa ett objekt.
- VALUE_DELIMITER: Valfritt Avgränsaren som skiljer ett fält från värdet. Standardavgränsaren är
:
. - FIELD_DELIMITER: Valfritt Avgränsaren som avgränsar fältvärdepar. Standardavgränsaren är
,
.
get()
fungerar tillsammans med str_to_object()
om du vill hämta värden för nycklarna i strängen.- Exempel 1: str_to_object("firstName - John ; lastName - ; - 123 345 7890", "-", ";")
- Exempel 2: str_to_object("firstName - John ; lastName - ; phone - 123 456 7890", "-", ";").get("firstName")
- Exempel 1:
{"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"}
- Exempel 2: "John"
is_set()
funktion.- INMATNING: Obligatoriskt Sökvägen som ska kontrolleras om den finns i källdata.
null
. Detta bör användas när du inte vill kopiera fältet till målschemat.null
- OBJEKT: Obligatoriskt Det objekt som nycklarna ska extraheras från.
["book1", "book2"]
- STRING: Obligatoriskt Strängen som du vill tolka.
- NYCKEL: Obligatoriskt Nyckeln som värdet ska extraheras för.
- VALUE_DELIMITER: Obligatoriskt Avgränsaren som avgränsar fältet och värdet. Om någon av
null
eller en tom sträng anges, är värdet:
. - FIELD_DELIMITER: Valfritt Avgränsaren som avgränsar fält- och värdepar. Om någon av
null
eller en tom sträng anges, är värdet,
.
- MAP: Obligatoriskt Indatamappningsdata.
- NYCKEL: Obligatoriskt Nyckeln kan vara en enskild sträng eller en strängarray. Om någon annan primitiv typ (data/tal) anges behandlas den som en sträng.
- MAP: Obligatoriskt Indatamappningsdata
- NYCKEL: Obligatoriskt Nyckeln kan vara en enskild sträng eller en strängarray. Om någon annan primitiv typ (data/tal) anges behandlas den som en sträng.
- NYCKEL: Obligatoriskt Nycklar måste vara en sträng. Om det finns andra primitiva värden, till exempel heltal eller datum, konverteras de automatiskt till strängar och behandlas som strängar.
- ANY_TYPE: Obligatoriskt Avser alla XDM-datatyper som stöds utom Maps.
- OBJEKT: Obligatoriskt Du kan ange en inkommande objekt- eller objektarray och peka på ett attribut inuti objektet som nyckel.
- OBJEKT: Obligatoriskt Du kan ange en inkommande objekt- eller objektarray och peka på ett attribut inuti objektet som nyckel.
Mer information om objektkopieringsfunktionen finns i avsnittet nedan.
Hierarkier - matriser arrays
- INMATNING: Obligatoriskt Arrayen som du vill hitta det första icke-null-objektet för.
- INMATNING: Obligatoriskt Arrayen som du vill hitta det första elementet i.
- INMATNING: Obligatoriskt Arrayen som du vill hitta det sista elementet i.
- ARRAY: Obligatoriskt Arrayen som du lägger till element i.
- VÄRDEN: De element som du vill lägga till i arrayen.
- ARRAY: Obligatoriskt Arrayen som du lägger till element i.
- VÄRDEN: Den eller de matriser som du vill lägga till i den överordnade matrisen.
- INCLUDE_NULLS: Obligatoriskt Ett booleskt värde som anger om null-värden ska tas med i svarsarrayen eller inte.
- VÄRDEN: Obligatoriskt De element som ska konverteras till en array.
[1, 2, 3]
- INMATNING: Obligatoriskt Objektet som du försöker hitta storleken på.
size_of([1, 2, 3, 4])
- ARRAY: Obligatoriskt Arrayen som ska läggas till arrayen i profilen.
upsert_array_append([123, 456])
- ARRAY: Obligatoriskt Arrayen som ska ersätta arrayen i profilen.
upsert_array_replace([123, 456], 1)
Hierarkier - karta map
- INMATNING: Obligatoriskt Objektarrayen som du vill hitta det första icke-null-objektet för.
- NYCKEL: Obligatoriskt Nyckeln måste vara ett fältnamn i objektarrayen och objektet som värde.
- INMATNING: Obligatoriskt Objektarrayen som du vill hitta det första icke-null-objektet för.
"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"
Logiska operatorer logical-operators
- NYCKEL: Obligatoriskt Nyckeln som ska matchas.
- OPTIONS: Obligatoriskt En förenklad array med nyckel/värde-par. Ett standardvärde kan också placeras i slutet.
Om den angivna statskoden är "pa", "Pennsylvania".
Om stateCode inte matchar följande, "N/A".
- UTTRYCK: Obligatoriskt Det booleska uttryck som utvärderas.
- TRUE_VALUE: Obligatoriskt Värdet som returneras om uttrycket utvärderas till true.
- FALSE_VALUE: Obligatoriskt Värdet som returneras om uttrycket utvärderas till false.
Aggregering aggregation
- OPTIONS: Obligatoriskt Ett eller flera objekt som kan jämföras.
- OPTIONS: Obligatoriskt Ett eller flera objekt som kan jämföras.
Typkonverteringar type-conversions
- STRING: Obligatoriskt Strängen som ska konverteras till ett BigInteger.
- STRING: Obligatoriskt Strängen som ska konverteras till Double.
- STRING: Obligatoriskt Strängen som ska konverteras till ett flyttal.
- STRING: Obligatoriskt Strängen som ska konverteras till ett heltal.
JSON-funktioner json
- STRING: Obligatoriskt JSON-strängen som ska avserialiseras.
Särskilda åtgärder special-operations
guid
guid()
guid()
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
- STRING: Obligatoriskt Den FPID-sträng som ska konverteras till ECID.
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"
Användaragentfunktioner user-agent
Alla användaragentfunktioner i tabellen nedan kan returnera något av följande värden:
- Telefon - En mobil enhet med liten skärm (vanligen < 7 tum)
- Mobil - En mobil enhet som ännu inte har identifierats. Den här mobila enheten kan vara en eReader, en surfplatta, en telefon, en klocka osv.
Mer information om enhetsfältvärden finns i lista med enhetsfältvärden i bilagan till det här dokumentet.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
- USER_AGENT: Obligatoriskt Användaragentsträngen.
Analysfunktioner analytics
- EVENT_STRING: Obligatoriskt Den kommaseparerade Analytics-händelsesträngen.
- EVENT_NAME: Obligatoriskt Händelsenamnet som ska extraheras och ID från.
- EVENT_STRING: Obligatoriskt Den kommaseparerade Analytics-händelsesträngen.
- EVENT_NAME: Obligatoriskt Händelsenamnet som ett värde ska extraheras från.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- EVENT_NAME: Obligatoriskt Händelsenamnet som värdena ska extraheras från.
- PRODUCTS_STRING: Obligatoriskt Produktsträngen för Analytics.
- EVAR_NAME: Obligatoriskt EVarnas namn som ska extraheras.
Objektkopia object-copy
Du kan använda objektkopieringsfunktionen för att automatiskt kopiera attribut till ett objekt utan att göra ändringar i mappningen. Om källdata till exempel har strukturen:
address{
line1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
och en XDM-struktur på
addr{
addrLine1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
Därefter blir mappningen:
address -> addr
address.line1 -> addr.addrLine1
I exemplet ovan är city
och state
-attribut hämtas också automatiskt vid körning eftersom address
objektet är mappat till addr
. Om du skulle skapa en line2
-attribut i XDM-strukturen och dina indata innehåller även en line2
i address
-objektet, kommer det också att kapslas in automatiskt utan att mappningen behöver ändras manuellt.
För att automatisk mappning ska fungera måste följande krav vara uppfyllda:
- Objekt på överordnad nivå bör mappas.
- Nya attribut måste ha skapats i XDM-schemat;
- Nya attribut ska ha matchande namn i källschemat och XDM-schemat.
Om något av villkoren inte uppfylls måste du manuellt mappa källschemat till XDM-schemat med hjälp av dataprep.
Bilaga
Nedan finns ytterligare information om hur du använder funktioner för dataprep
Specialtecken special-characters
Tabellen nedan visar en lista med reserverade tecken och motsvarande kodade tecken.
Värden för enhetsfält device-field-values
Tabellen nedan visar en lista med enhetsfältvärden och motsvarande beskrivningar.
useragents
som har ändrats av en anonymiseringsprogramvara.useragents
som inte innehåller någon information om enheten.useragent
sträng.Kodexempel 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
Syntax 1
code language-json |
---|
|
Syntax 2
code language-json |
---|
|
Syntax 3
code language-json |
---|
|
array_to_map array_to_map
code language-json |
---|
|