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 som börjar 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 kapslas in med ${}
. Om fältnamnet till exempel är "Förnamn" eller "Förnamn" måste namnet radbrytas som ${First Name}
respektive ${First\.Name}
.
.
) vid interaktion med hierarkier måste du använda ett omvänt snedstreck (\
) för att undvika specialtecken. Mer information finns i handboken om att kringgå specialtecken.Om ett fältnamn är något av följande reserverade nyckelord måste det kapslas 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, do, function, empty, size
Dessutom innehåller reserverade nyckelord alla mappningsfunktioner som listas på den här sidan.
Du kan komma åt data i underfält genom att använda punktnotation. Om det till exempel finns ett name
-objekt använder du name.firstName
för att komma åt fältet 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 inkluderar flera tecken som avgränsare behandlas avgränsaren som en avgränsare med flera tecken.- STRING: Required Strängen som måste delas.
- REGEX: Valfritt Det reguljära uttryck som kan användas för att dela strängen.
["Hi,", "there"]
- INPUT: Required Strängen som söks igenom.
- SUBSTRING: Required Den delsträng som söks efter i strängen.
- START_POSITION: Valfritt Platsen där sökningen ska börja i strängen.
- FÖREKOMST: Valfritt Den n förekomsten att söka efter från startpositionen. Som standard är det 1.
- INPUT: Required Indatasträngen.
- TO_FIND: Required Strängen som ska slås upp i indata.
- TO_REPLACE: Required Strängen som ska ersätta värdet i TO_FIND.
- INPUT: Required Indatasträngen.
- START_INDEX: Required Indexvärdet för den indatasträng där delsträngen börjar.
- LENGTH: Required Längden på delsträngen.
lcase
- INPUT: Required Strängen som ska konverteras till gemener.
lcase("HanLo")
ucase
- INPUT: Required Strängen som ska konverteras till versaler.
ucase("HanLo")
\
: \
. Om du inkluderar flera avgränsare delas strängen upp på valfri av avgränsarna som finns 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.- INPUT: Required Den indatasträng som ska delas.
- SEPARATOR: Required Strängen som används för att dela indata.
["Hello", "world"]
- SEPARATOR: Required Strängen som ska användas för att förena objekten.
- OBJEKT: Obligatoriskt En matris med strängar som ska kopplas.
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
- INPUT: Required Strängen som ska utfyllas. Strängen kan vara null.
- ANTAL: Obligatoriskt Strängstorleken som ska utfyllas.
- PADDING: Required Strängen som indata ska fyllas med. Om värdet är null eller tomt behandlas det som ett enda mellanslag.
- INPUT: Required Strängen som ska utfyllas. Strängen kan vara null.
- ANTAL: Obligatoriskt Strängstorleken som ska utfyllas.
- PADDING: Required Strängen som indata ska fyllas med. Om värdet är null eller tomt behandlas det som ett enda mellanslag.
- STRING: Required 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: Required Strängen du hämtar de sista n-tecknen för.
- ANTAL: Obligatoriskt De n-tecken som du vill hämta från strängen.
- STRING: Required Strängen som du vill ta bort mellanrummet från.
- STRING: Required Strängen som du vill ta bort mellanrummet från.
- STRING: Required Strängen som du vill ta bort mellanrummet från.
- STRING1: Required Den första strängen som du vill jämföra.
- STRING2: Required Den andra strängen som du vill jämföra.
- STRING1: Required Den första strängen som du vill jämföra.
- STRING2: Required Den andra strängen som du vill jämföra.
Funktioner för reguljära uttryck
- STRING: Required Strängen som du extraherar grupperna från.
- REGEX: Obligatoriskt Det reguljära uttryck som du vill att gruppen ska matcha.
- STRING: Required 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: Krävs 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: Krävs 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: Krävs 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: Krävs 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: Krävs 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 URL:en 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.
- ANCHOR: Required Avgör vad som ska göras med ankaret 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ågor:8042/over/where?name=illret#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:en med ASCII-tecken som du vill avkoda till specialtecken.
Datum- och tidsfunktioner date-and-time
date
finns i datumavsnittet i hanteringsguiden för dataformat.2021-10-26T10:10:24Z
- DATE: Required Indatadatum, som ett ZonedDateTime-objekt, som du vill formatera.
- FORMAT: Obligatoriskt Formatet som du vill ändra datumet till.
yyyy-MM-dd HH:mm:ss
")2019-10-23 11:24:35
- TIDSSTÄMPEL: Krävs 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
- DATE: Required Strängen som representerar datumet.
- FORMAT: Obligatoriskt Strängen som representerar formatet för källdatumet.Obs! Detta representerar inte formatet som du vill konvertera datumsträngen till.
- DEFAULT_DATE: Required Standarddatumet returnerades om det angivna datumet är null.
2019-10-23T11:24:00Z
- DATE: Required Strängen som representerar datumet.
- FORMAT: Obligatoriskt Strängen som representerar formatet för källdatumet.Obs! Detta representerar inte formatet som du vill konvertera datumsträngen till.
2019-10-23T11:24:00Z
- DATE: Required Strängen som representerar datumet.
"year"
"yyy"
"yy"
"quarters"
"qq"
"q"
"month"
"mm"
"m"
"day of year"
"dy"
"y"
"day"{1
"dd"
"d"
"vecka"
"ww"
"w"
"veckodag"
"dw"
"w"
"hour"
"hh"
"hh24"
"hh12"
"minute"
"mi"
"n"
"second"
"ss"
"s"
"millisecond"
"SSS"
- KOMPONENT: Obligatorisk En sträng som representerar datumdelen.
- DATUM: Obligatoriskt Datumet i standardformat.
"year"
"yyy"
"yy"
"month"
"mm"
"m"
"day"
"dd"
"d"
"hour"
"hh"
"minute"
"mi"
"n"
"second"
"ss"
"s"
- KOMPONENT: Obligatorisk 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 standardformat.
- ÅR: Obligatoriskt Året, skrivet med fyra siffror.
- MÅNAD: Krävs Månad. Tillåtna värden är 1 till 12.
- DAG: Krävs Dagen. Tillåtna värden är 1 till 31.
- TIMME: Krävs Timmen. De tillåtna värdena är 0 till 23.
- MINUT: Krävs minuten. De tillåtna värdena är 0 till 59.
- NANOSECOND: Required The nanosecond values. De tillåtna värdena är 0 till 999999999.
- TIMEZONE: Required Tidszonen för datumet och tiden.
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_zone(now(), "Europe/Paris")
2021-10-26T15:43:59Z
Hierarkier - objekt objects
- INMATNING: Nödvändigt 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: Krävs En platt lista över nyckel-/värdepar.
{"firstName": "John", "lastName": "Doe"}
- STRING: Required 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()
tillsammans med str_to_object()
för att 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()
-funktionen.- INMATNING: Nödvändig 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: Required Strängen som du vill tolka.
- KEY: Required Nyckeln som värdet ska extraheras för.
- VALUE_DELIMITER: Required Avgränsaren som avgränsar fältet och värdet. Om antingen
null
eller en tom sträng anges är det här värdet:
. - FIELD_DELIMITER: Valfritt Avgränsaren som avgränsar fält- och värdepar. Om antingen
null
eller en tom sträng anges är det här värdet,
.
- MAP: Obligatoriskt Indatamappningsdata.
- KEY: Required Nyckeln kan vara en sträng eller en strängmatris. Om någon annan primitiv typ (data/tal) anges behandlas den som en sträng.
- MAP: Obligatoriskt Indatamappningsdata
- KEY: Required Nyckeln kan vara en sträng eller en strängmatris. Om någon annan primitiv typ (data/tal) anges behandlas den som en sträng.
- KEY: Obligatoriska-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: Required Avser alla XDM-datatyper som stöds, förutom Maps.
- OBJECT: Required Du kan ange en inkommande objekt- eller objektmatris och peka på ett attribut inuti objektet som nyckel.
- OBJECT: Required Du kan ange en inkommande objekt- eller objektmatris och peka på ett attribut inuti objektet som nyckel.
Mer information om objektkopieringsfunktionen finns i avsnittet nedan.
Hierarkier - matriser arrays
- INPUT: Required Arrayen som du vill hitta det första icke-null-objektet för.
- INPUT: Required Arrayen som du vill hitta det första elementet i.
- INPUT: Required Arrayen som du vill hitta det sista elementet i.
- ARRAY: Required Arrayen som du lägger till element i.
- VÄRDEN: De element som du vill lägga till i arrayen.
- ARRAY: Required 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: Required 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]
- INPUT: Obligatoriskt Det objekt som du försöker hitta storleken på.
size_of([1, 2, 3, 4])
- ARRAY: Required Arrayen som ska läggas till i arrayen i profilen.
upsert_array_append([123, 456])
- ARRAY: Required Arrayen som ska ersätta arrayen i profilen.
upsert_array_replace([123, 456], 1)
- SEPARATOR: Required Avgränsaren som används för att förena elementen i arrayen.
- ARRAY: Required Arrayen som ska förenas (efter förenkling).
array_to_string(";", ["Hello", "world"])
- ARRAY: Obligatorisk Matrisen som ska filtreras
- PREDICATE: Required Predikatet som ska användas för varje element i den angivna arrayen.
filterArray([5, -6, 0, 7], x -> x > 0)
- ARRAY: Required Arrayen som ska omformas.
- PREDICATE: Required Predikatet som ska användas för varje element i den angivna arrayen.
transformArray([5, 6, 7], x -> x + 1)
- ARRAY: Obligatorisk Matrisen som ska förenklas.
Hierarkier - karta map
- INPUT: Required Objektarrayen som du vill hitta det första icke-null-objektet för.
- KEY: Required Nyckeln måste vara ett fältnamn i objektarrayen och objektet som värde.
- INPUT: Required 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: Krävs Nyckeln som ska matchas.
- OPTIONS: Obligatorisk En förenklad matris med nyckel/värde-par. Ett standardvärde kan också placeras i slutet.
Om angiven stateCode är "pa", "Pennsylvania".
Om stateCode inte matchar följande, "N/A".
- UTTRYCK: Obligatoriskt Det booleska uttryck som utvärderas.
- TRUE_VALUE: Required Värdet som returneras om uttrycket utvärderas till true.
- FALSE_VALUE: Required Värdet som returneras om uttrycket utvärderas till false.
Aggregering aggregation
- OPTIONS: Obligatoriskt Ett eller flera objekt som kan jämföras med varandra.
- OPTIONS: Obligatoriskt Ett eller flera objekt som kan jämföras med varandra.
Typkonverteringar type-conversions
- STRING: Required Strängen som ska konverteras till ett BigInteger.
- STRING: Required Strängen som ska konverteras till Double.
- STRING: Required Strängen som ska konverteras till ett flyttal.
- STRING: Required Strängen som ska konverteras till ett heltal.
JSON-funktioner json
- STRING: Required JSON-strängen som ska avserialiseras.
Särskilda åtgärder special-operations
guid
guid()
guid()
c7016dc7-3163-43f7-afc7-2e1c9c20633
fpid_to_ecid
- STRING: Required 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 listan över enhetsfältvärden i bilagan till det här dokumentet.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
- USER_AGENT: Required Användaragentsträngen.
Analysfunktioner analytics
- EVENT_STRING: Required Den kommaavgränsade händelsesträngen Analytics.
- EVENT_NAME: Required Händelsenamnet att extrahera och ID från.
- EVENT_STRING: Required Den kommaavgränsade händelsesträngen Analytics.
- EVENT_NAME: Required Händelsenamnet som ett värde ska extraheras från.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- EVENT_NAME: Required Händelsenamnet som värden ska extraheras från.
- PRODUCTS_STRING: Required Produktsträngen Analytics.
- EVAR_NAME: Required 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 kapslas även attributen city
och state
automatiskt vid körning eftersom objektet address
mappas till addr
. Om du skulle skapa ett line2
-attribut i XDM-strukturen och dina indata även innehåller 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
.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 |
---|
|