Fonctions de mappage de la préparation des données
Les fonctions de préparation de données peuvent être utilisées pour calculer les valeurs en fonction de ce qui est entré dans les champs sources.
Champs
Un nom de champ peut être n’importe quel identifiant légal, c’est-à-dire une séquence illimitée de lettres et de chiffres Unicode, commençant par une lettre, le symbole du dollar ($
) ou le caractère de soulignement (_
). Les noms de variables sont également sensibles à la casse.
Si un nom de champ ne respecte pas cette convention, il doit être encadré de ${}
. Par exemple, si le nom du champ est "Prénom" ou "Prénom", le nom doit être encapsulé comme ${First Name}
ou ${First\.Name}
respectivement.
.
), vous devez utiliser une barre oblique inverse (\
) pour échapper les caractères spéciaux. Pour plus d’informations, consultez le guide sur échappement de caractères spéciaux.Si un nom de champ est any des mots-clés réservés suivants, il doit être encapsulé avec ${}{}
:
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
En outre, les mots-clés réservés incluent également l’une des fonctions du mappeur répertoriées sur cette page.
Les données des sous-champs sont accessibles à l’aide de la notation par points. Par exemple, si une variable name
pour accéder à l’objet firstName
champ, utiliser name.firstName
.
Liste des fonctions
Les tableaux suivants répertorient toutes les fonctions de mappage prises en charge, y compris les exemples d’expressions et les sorties qui en résultent.
Fonctions de chaîne string
- STRING : chaînes qui seront concaténées.
"Hi, there!"
\
: +, ?, ^, |, ., [, (, {, ), *, $, \
Si vous incluez plusieurs caractères comme délimiteur, le délimiteur est traité comme un délimiteur à plusieurs caractères.- STRING: Obligatoire Chaîne à fractionner.
- REGEX : Facultatif Expression régulière pouvant être utilisée pour fractionner la chaîne.
["Hi,", "there"]
- INPUT : Obligatoire Chaîne en cours de recherche.
- SUBSTRING : Obligatoire Sous-chaîne recherchée dans la chaîne.
- START_POSITION : Facultatif Emplacement où commencer la recherche dans la chaîne.
- OCCURRENCE : Facultatif La énième occurrence à rechercher à partir de la position de départ. Par défaut, elle est définie sur 1.
- INPUT : Obligatoire Chaîne d’entrée.
- TO_FIND : Obligatoire Chaîne à rechercher dans l’entrée.
- TO_REPLACE : Obligatoire Chaîne qui remplacera la valeur dans "TO_FIND".
- INPUT : Obligatoire Chaîne d’entrée.
- START_INDEX : Obligatoire Index de la chaîne d’entrée où la sous-chaîne commence.
- LONGUEUR : Obligatoire Durée de la sous-chaîne.
lcase
- INPUT : Obligatoire Chaîne qui sera convertie en minuscules.
lcase("HeLLo")
ucase
- INPUT : Obligatoire Chaîne qui sera convertie en majuscules.
ucase("HeLLo")
\
: \
. Si vous incluez plusieurs délimiteurs, la chaîne sera fractionnée sur any des délimiteurs présents dans la chaîne. Remarque : Cette fonction renvoie uniquement les index non nuls de la chaîne, indépendamment de la présence du séparateur. Si tous les index, y compris les valeurs nulles, sont requis dans le tableau obtenu, utilisez plutôt la fonction "explode".- INPUT : Obligatoire Chaîne d’entrée qui va être fractionnée.
- SEPAROR : Obligatoire Chaîne utilisée pour fractionner l’entrée.
["Hello", "world"]
- SEPAROR : Obligatoire Chaîne qui sera utilisée pour joindre les objets.
- OBJETS : Obligatoire Tableau de chaînes qui seront jointes.
join(SEPARATOR, [OBJECTS])
join(" ", to_array(true, "Hello", "world"))
- INPUT : Obligatoire Chaîne qui va être complétée. Cette chaîne peut être nulle.
- COUNT : Obligatoire Taille de la chaîne à ajouter.
- PADDING : Obligatoire Chaîne avec laquelle remplir l’entrée. S’il est nul ou vide, il est traité comme un espace unique.
- INPUT : Obligatoire Chaîne qui va être complétée. Cette chaîne peut être nulle.
- COUNT : Obligatoire Taille de la chaîne à ajouter.
- PADDING : Obligatoire Chaîne avec laquelle remplir l’entrée. S’il est nul ou vide, il est traité comme un espace unique.
- STRING: Obligatoire Chaîne pour laquelle vous obtenez les premiers caractères "n".
- COUNT : Obligatoire Les n caractères que vous souhaitez récupérer de la chaîne.
- STRING: Obligatoire Chaîne pour laquelle vous obtenez les derniers caractères "n".
- COUNT : Obligatoire Les n caractères que vous souhaitez récupérer de la chaîne.
- STRING: Obligatoire Chaîne dont vous souhaitez supprimer l’espace blanc.
- STRING: Obligatoire Chaîne dont vous souhaitez supprimer l’espace blanc.
- STRING: Obligatoire Chaîne dont vous souhaitez supprimer l’espace blanc.
- STRING1 : Obligatoire Première chaîne à comparer.
- STRING2 : Obligatoire La deuxième chaîne à comparer.
- STRING1 : Obligatoire Première chaîne à comparer.
- STRING2 : Obligatoire La deuxième chaîne à comparer.
Fonctions d’expressions régulières
- STRING: Obligatoire Chaîne à partir de laquelle vous extrayez les groupes.
- REGEX : Obligatoire L’expression régulière que vous souhaitez que le groupe corresponde.
- STRING: Obligatoire La chaîne que vous cochez correspond à l’expression régulière.
- REGEX : Obligatoire Expression régulière par rapport à laquelle vous effectuez une comparaison.
Fonctions de hachage hashing
- INPUT : Obligatoire Texte brut à hacher.
- CHARSET : Facultatif Nom du jeu de caractères. Les valeurs possibles sont UTF-8, UTF-16, ISO-8859-1 et US-ASCII.
- INPUT : Obligatoire Texte brut à hacher.
- CHARSET : Facultatif Nom du jeu de caractères. Les valeurs possibles sont UTF-8, UTF-16, ISO-8859-1 et US-ASCII.
- INPUT : Obligatoire Texte brut à hacher.
- CHARSET : Facultatif Nom du jeu de caractères. Les valeurs possibles sont UTF-8, UTF-16, ISO-8859-1 et US-ASCII.
- INPUT : Obligatoire Texte brut à hacher.
- CHARSET : Facultatif Nom du jeu de caractères. Les valeurs possibles sont UTF-8, UTF-16, ISO-8859-1 et US-ASCII.
- INPUT : Obligatoire Texte brut à hacher.
- CHARSET : Facultatif Nom du jeu de caractères. Les valeurs possibles sont UTF-8, UTF-16, ISO-8859-1 et US-ASCII.
Fonctions d’URL url
- URL : Obligatoire URL à partir de laquelle le protocole doit être extrait.
- URL : Obligatoire URL à partir de laquelle l’hôte doit être extrait.
- URL : Obligatoire URL à partir de laquelle le port doit être extrait.
- URL : Obligatoire URL à partir de laquelle le chemin d’accès doit être extrait.
- FULL_PATH : Facultatif Une valeur boolean qui détermine si le chemin complet est renvoyé. S’il est défini sur false, seule la fin du chemin est renvoyée.
- URL : Obligatoire URL à partir de laquelle vous essayez d’obtenir la chaîne de requête.
- ANCRAGE : Obligatoire Détermine ce qui sera fait avec l’ancre dans la chaîne de requête. Il peut s’agir de l’une des trois valeurs suivantes : "keep" (conserver), "remove" (supprimer) ou "append" (ajouter).
Si la valeur est "preserve", l’ancre est associée à la valeur renvoyée.
Si la valeur est "remove", l’ancre est supprimée de la valeur renvoyée.
Si la valeur est "append", l’ancre est renvoyée sous la forme d’une valeur distincte.
get_url_query_str ("foo://example.com:8042 /over/here?name= furet#nose", "remove")
get_url_query_str ("foo://example.com :8042/over/here ?name=ferret#nose", "append")
{"name": "ferret#nose"}
{"name": "ferret"}
{"name": "ferret", "_anchor_": "nose"}
- URL : Obligatoire L’URL d’entrée avec des caractères spéciaux que vous souhaitez remplacer ou coder avec des caractères ASCII.
- URL : Obligatoire URL d’entrée contenant des caractères ASCII que vous souhaitez décoder en caractères spéciaux.
Fonctions de date et d’heure date-and-time
date
se trouve dans la section dates de la fonction guide de gestion des formats de données.2021-10-26T10:10:24Z
- DATE : Obligatoire La date d’entrée, en tant qu’objet ZonedDateTime, que vous souhaitez mettre en forme.
- FORMAT : Obligatoire Le format vers lequel vous souhaitez que la date soit modifiée.
yyyy-MM-dd HH:mm:ss
")2019-10-23 11:24:35
- TIMESTAMP : Obligatoire Horodatage que vous souhaitez mettre en forme. Il est écrit en millisecondes.
- FORMAT : Obligatoire Format que vous souhaitez que l’horodatage soit défini.
yyyy-MM-dd'T'HH:mm:ss.SSSX
")2019-10-23T11:24:35.000Z
- DATE : Obligatoire Chaîne représentant la date.
- FORMAT : Obligatoire Chaîne représentant le format de la date source.Remarque : Cela signifie que not représentent le format dans lequel vous souhaitez convertir la chaîne de date.
- DEFAULT_DATE : Obligatoire La date par défaut renvoyée, si la date fournie est nulle.
2019-10-23T11:24:00Z
- DATE : Obligatoire Chaîne représentant la date.
- FORMAT : Obligatoire Chaîne représentant le format de la date source.Remarque : Cela signifie que not représentent le format dans lequel vous souhaitez convertir la chaîne de date.
2019-10-23T11:24:00Z
- DATE : Obligatoire Chaîne représentant la date.
"year"
"aaaa"
"yy"
"quart"
"qq"
"q"
"month"
"mm"
"m"
"dayofyear"
"dy"
"y"
"day"
"dd"
"d"
"week"
"ss"
"w"
"weekday"
"dw"
"w"
"hour"
"hh"
"hh24"
"hh12"
"minute"
"mi"
"n"
"second"
"ss"
"s"
"milliseconde"
"SSS"
- COMPOSANT : Obligatoire Chaîne représentant la partie de la date.
- DATE : Obligatoire La date, dans un format standard.
"year"
"yyyy"
"yy"
"month"
"mm"
"m"
"day"
"dd"
"d"
"hour"
"hh"
"minute"
"mi"
"n"
"second"
"ss"
"s"
- COMPOSANT : Obligatoire Chaîne représentant la partie de la date.
- VALEUR : Obligatoire La valeur à définir pour le composant pour une date donnée.
- DATE : Obligatoire La date, dans un format standard.
- ANNÉE : Obligatoire L'année, écrite en quatre chiffres.
- MOIS : Obligatoire Le mois. Les valeurs autorisées sont comprises entre 1 et 12.
- JOUR : Obligatoire Le jour. Les valeurs autorisées sont comprises entre 1 et 31.
- HEURE : Obligatoire L'heure. Les valeurs autorisées sont comprises entre 0 et 23.
- MINUTE : Obligatoire La minute. Les valeurs autorisées sont comprises entre 0 et 59.
- NANOSECOND : Obligatoire Les valeurs de nanoseconde. Les valeurs autorisées sont 0 à 999999999.
- TIMEZONE : Obligatoire Fuseau horaire de la date et de l’heure.
2019-10-17T11:55:12Z
- DATE : Obligatoire La date que vous essayez de convertir.
zone_date_to_utc​(2019-10-17T11:55:​12 PST
2019-10-17T19:55:12Z
- DATE : Obligatoire La date que vous essayez de convertir.
- ZONE : Obligatoire Fuseau horaire auquel vous essayez de convertir la date.
zone_date_to_utc​(now(), "Europe/Paris")
2021-10-26T15:43:59Z
Hiérarchies - Objets objects
- INPUT : Obligatoire L’objet que vous essayez de vérifier est vide.
is_empty([1, null, 2, 3])
- INPUT : Obligatoire Groupement de paires clé-tableau.
arrays_to_objects('sku', explode("id1|id2", '\\|'), 'price', [22.5,14.35])
[{ "sku": "id1", "price": 22.5 }, { "sku": "id2", "price": 14.35 }]
- INPUT : Obligatoire Liste plate de paires clé/valeur.
{"firstName": "John", "lastName": "Doe"}
- STRING: Obligatoire Chaîne analysée pour créer un objet.
- VALUE_DELIMITER: Facultatif Délimiteur qui sépare un champ de la valeur. Le délimiteur par défaut est
:
. - FIELD_DELIMITER : Facultatif Délimiteur qui sépare les paires valeur-champ. Le délimiteur par défaut est
,
.
get()
fonction avec str_to_object()
pour récupérer les valeurs des clés dans la chaîne.- Exemple #1 : str_to_object("firstName - John ; lastName - ; - 123 345 7890", "-", ";")
- Exemple #2 : str_to_object("firstName - John ; lastName - ; phone - 123 456 7890", "-", ";").get("firstName")
- Exemple #1 :
{"firstName": "John", "lastName": "Doe", "phone": "123 456 7890"}
- Exemple #2 : "John"
is_set()
de la fonction- INPUT : Obligatoire Chemin à vérifier s’il existe dans les données source.
null
. Vous devez l’utiliser lorsque vous ne souhaitez pas copier le champ dans le schéma cible.null
- OBJECT : Obligatoire Objet à partir duquel les clés seront extraites.
["book1", "book2"]
- STRING: Obligatoire Chaîne que vous souhaitez analyser.
- CLÉ : Obligatoire Clé pour laquelle la valeur doit être extraite.
- VALUE_DELIMITER: Obligatoire Délimiteur qui sépare le champ de la valeur. Si l’une des
null
ou une chaîne vide est fournie, cette valeur est:
. - FIELD_DELIMITER : Facultatif Délimiteur qui sépare les paires champ-valeur. Si l’une des
null
ou une chaîne vide est fournie, cette valeur est,
.
- MAP : Obligatoire Données de la carte d’entrée.
- CLÉ : Obligatoire La clé peut être une chaîne unique ou un tableau de chaîne. Si un autre type primitif (données/nombre) est fourni, il est traité comme une chaîne.
- MAP : Obligatoire Données de la carte d’entrée
- CLÉ : Obligatoire La clé peut être une chaîne unique ou un tableau de chaîne. Si un autre type primitif (données/nombre) est fourni, il est traité comme une chaîne.
- CLÉ : Obligatoire Les clés doivent être une chaîne. Si d’autres valeurs primitives, telles que des nombres entiers ou des dates, sont fournies, elles sont automatiquement converties en chaînes et sont traitées comme des chaînes.
- ANY_TYPE : Obligatoire Fait référence à tout type de données XDM pris en charge, à l’exception des cartes.
- OBJECT : Obligatoire Vous pouvez fournir un tableau d’objets ou d’objets entrant et pointer vers un attribut à l’intérieur de l’objet sous la forme d’une clé.
- OBJECT : Obligatoire Vous pouvez fournir un tableau d’objets ou d’objets entrant et pointer vers un attribut à l’intérieur de l’objet sous la forme d’une clé.
Pour plus d’informations sur la fonction de copie d’objet, voir la section below.
Hiérarchies - Tableaux arrays
- INPUT : Obligatoire Tableau dont vous souhaitez trouver le premier objet non nul.
- INPUT : Obligatoire Le tableau dont vous souhaitez trouver le premier élément.
- INPUT : Obligatoire Le tableau dont vous souhaitez trouver le dernier élément.
- ARRAY : Obligatoire Le tableau auquel vous ajoutez des éléments.
- VALEURS : éléments que vous souhaitez ajouter au tableau.
- ARRAY : Obligatoire Le tableau auquel vous ajoutez des éléments.
- VALEURS : tableau(s) que vous souhaitez ajouter au tableau parent.
- INCLUDE_NULLS : Obligatoire Valeur boolean indiquant s’il faut inclure ou non les valeurs nulles dans le tableau de réponse.
- VALEURS : Obligatoire Les éléments à convertir en tableau.
[1, 2, 3]
- INPUT : Obligatoire L'objet dont vous essayez de trouver la taille.
size_of([1, 2, 3, 4])
- ARRAY : Obligatoire Tableau à ajouter au tableau dans le profil.
upsert_array_append([123, 456])
- ARRAY : Obligatoire Le tableau à remplacer dans le profil.
upsert_array_replace([123, 456], 1)
Hiérarchies - Carte map
- INPUT : Obligatoire Le tableau d’objets dont vous souhaitez trouver le premier objet non nul.
- CLÉ : Obligatoire La clé doit être un nom de champ dans le tableau d’objets et l’objet comme valeur.
- INPUT : Obligatoire Le tableau d’objets dont vous souhaitez trouver le premier objet non nul.
"{line1 : \"345 park ave\",line2: \"bldg 2\",City : \"san jose\",State : \"CA\",type: \"office\"}"
"{\"firstName\" : \"John\", \"lastName\": \"Doe\"}"
Opérateurs logiques logical-operators
- CLÉ : Obligatoire Clé à mettre en correspondance.
- OPTIONS : Obligatoire Tableau aplati de paires clé/valeur. Vous pouvez éventuellement placer une valeur par défaut à la fin.
Si le code d'état donné est "pa", "Pennsylvania".
Si stateCode ne correspond pas à ce qui suit, "S/O".
- EXPRESSION : Obligatoire L’expression booléenne en cours d’évaluation.
- TRUE_VALUE : Obligatoire Valeur renvoyée si l’expression est évaluée comme vraie.
- FALSE_VALUE : Obligatoire Valeur renvoyée si l’expression est évaluée comme false.
Agrégation aggregation
- OPTIONS : Obligatoire Un ou plusieurs objets pouvant être comparés.
- OPTIONS : Obligatoire Un ou plusieurs objets pouvant être comparés.
Conversions de type type-conversions
- STRING: Obligatoire Chaîne à convertir en BigInteger.
- STRING: Obligatoire Chaîne à convertir en double.
- STRING: Obligatoire Chaîne à convertir en flottante.
- STRING: Obligatoire Chaîne à convertir en entier.
Fonctions JSON json
- STRING: Obligatoire Chaîne JSON à désérialiser.
Opérations spéciales special-operations
guid
guid()
guid()
c7016dc7-3163-43f7-afc7-2e1c9c206333
fpid_to_ecid
- STRING: Obligatoire Chaîne FPID à convertir en ECID.
fpid_to_ecid(STRING)
fpid_to_ecid("4ed70bee-b654-420a-a3fd-b58b6b65e991")
"28880788470263023831040523038280731744"
Fonctions de l’agent utilisateur user-agent
Toutes les fonctions de l’agent utilisateur contenues dans le tableau ci-dessous peuvent renvoyer l’une des valeurs suivantes :
- Phone : appareil mobile avec un petit écran (généralement < 7").
- Mobile : périphérique mobile qui n’est pas encore identifié. Ce périphérique mobile peut être un lecteur électronique, une tablette, un téléphone, une montre, etc.
Pour plus d’informations sur les valeurs de champ d’appareil, veuillez lire la section liste des valeurs de champ d’appareil dans l’annexe du présent document.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
- USER_AGENT : Obligatoire Chaîne de l’agent utilisateur.
Fonctions Analytics analytics
- EVENT_STRING : Obligatoire Chaîne d’événement Analytics séparée par des virgules.
- EVENT_NAME : Obligatoire Nom de l’événement à partir duquel extraire l’identifiant et l’identifiant.
- EVENT_STRING : Obligatoire Chaîne d’événement Analytics séparée par des virgules.
- EVENT_NAME : Obligatoire Nom de l’événement duquel extraire une valeur.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- EVENT_NAME : Obligatoire Nom de l’événement à partir duquel extraire les valeurs.
- PRODUCTS_STRING : Obligatoire Chaîne de produits Analytics.
- EVAR_NAME : Obligatoire Nom de l’eVar à extraire.
Copie d’objet object-copy
Vous pouvez utiliser la fonction de copie d’objet pour copier automatiquement les attributs d’un objet sans apporter de modifications au mappage. Par exemple, si vos données source ont une structure de :
address{
line1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
et une structure XDM de :
addr{
addrLine1: 4191 Ridgebrook Way,
city: San Jose,
state: California
}
Ensuite, le mappage devient :
address -> addr
address.line1 -> addr.addrLine1
Dans l’exemple ci-dessus, la variable city
et state
Les attributs sont également ingérés automatiquement au moment de l’exécution, car la variable address
est mappé sur addr
. Si vous deviez créer une line2
dans la structure XDM et vos données d’entrée contiennent également un line2
dans le address
, il sera également ingéré automatiquement sans avoir à modifier manuellement le mappage.
Pour que le mappage automatique fonctionne, les conditions préalables suivantes doivent être remplies :
- Les objets de niveau parent doivent être mappés ;
- De nouveaux attributs doivent avoir été créés dans le schéma XDM ;
- Les nouveaux attributs doivent avoir des noms correspondants dans le schéma source et le schéma XDM.
Si aucune des conditions préalables n’est remplie, vous devez mapper manuellement le schéma source au schéma XDM à l’aide de la préparation des données.
Annexe
Vous trouverez ci-dessous des informations supplémentaires sur l’utilisation des fonctions de mappage de la préparation de données
Caractères spéciaux special-characters
Le tableau ci-dessous présente une liste de caractères réservés et les caractères codés correspondants.
Valeurs de champ du périphérique device-field-values
Le tableau ci-dessous présente une liste des valeurs de champ d’appareil et leurs descriptions correspondantes.
useragents
qui ont été modifiées par un logiciel d’anonymisation.useragents
qui ne contiennent aucune information sur l’appareil.useragent
chaîne.Exemples de code 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
Syntaxe 1
code language-json |
---|
|
Syntaxe 2
code language-json |
---|
|
Syntaxe 3
code language-json |
---|
|
array_to_map array_to_map
code language-json |
---|
|